mirror of
https://github.com/Ultimaker/Cura.git
synced 2025-07-06 14:37:29 -06:00
Merge branch '2.1'
Conflicts: plugins/RemovableDriveOutputDevice/OSXRemovableDrivePlugin.py plugins/RemovableDriveOutputDevice/WindowsRemovableDrivePlugin.py plugins/USBPrinting/PrinterConnection.py resources/machines/fdmprinter.json resources/profiles/ultimaker2+/abs_0.4_high.curaprofile
This commit is contained in:
commit
de9a66e1f4
47 changed files with 248 additions and 154 deletions
|
@ -47,25 +47,41 @@ if(NOT ${URANIUM_SCRIPTS_DIR} STREQUAL "")
|
||||||
add_custom_command(TARGET translations POST_BUILD COMMAND mkdir ARGS -p ${CMAKE_BINARY_DIR}/resources/i18n/${lang}/LC_MESSAGES/ COMMAND ${GETTEXT_MSGFMT_EXECUTABLE} ARGS ${po_file} -o ${mo_file} -f)
|
add_custom_command(TARGET translations POST_BUILD COMMAND mkdir ARGS -p ${CMAKE_BINARY_DIR}/resources/i18n/${lang}/LC_MESSAGES/ COMMAND ${GETTEXT_MSGFMT_EXECUTABLE} ARGS ${po_file} -o ${mo_file} -f)
|
||||||
endforeach()
|
endforeach()
|
||||||
endforeach()
|
endforeach()
|
||||||
install(DIRECTORY ${CMAKE_BINARY_DIR}/resources DESTINATION ${CMAKE_INSTALL_DATADIR}/cura)
|
install(DIRECTORY ${CMAKE_BINARY_DIR}/resources
|
||||||
|
DESTINATION ${CMAKE_INSTALL_DATADIR}/cura)
|
||||||
endif()
|
endif()
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
find_package(PythonInterp 3.4.0 REQUIRED)
|
find_package(PythonInterp 3.4.0 REQUIRED)
|
||||||
|
|
||||||
install(DIRECTORY resources DESTINATION ${CMAKE_INSTALL_DATADIR}/cura)
|
install(DIRECTORY resources
|
||||||
install(DIRECTORY plugins DESTINATION lib/cura)
|
DESTINATION ${CMAKE_INSTALL_DATADIR}/cura)
|
||||||
install(FILES cura_app.py DESTINATION ${CMAKE_INSTALL_BINDIR} PERMISSIONS OWNER_READ OWNER_WRITE OWNER_EXECUTE GROUP_READ GROUP_EXECUTE WORLD_READ WORLD_EXECUTE)
|
install(DIRECTORY plugins
|
||||||
|
DESTINATION lib/cura)
|
||||||
if(NOT APPLE AND NOT WIN32)
|
if(NOT APPLE AND NOT WIN32)
|
||||||
install(DIRECTORY cura DESTINATION lib/python${PYTHON_VERSION_MAJOR}/dist-packages FILES_MATCHING PATTERN *.py)
|
install(FILES cura_app.py
|
||||||
install(FILES ${CMAKE_BINARY_DIR}/CuraVersion.py DESTINATION lib/python${PYTHON_VERSION_MAJOR}/dist-packages/cura)
|
DESTINATION ${CMAKE_INSTALL_BINDIR}
|
||||||
install(FILES cura.desktop DESTINATION ${CMAKE_INSTALL_DATADIR}/applications)
|
PERMISSIONS OWNER_READ OWNER_WRITE OWNER_EXECUTE GROUP_READ GROUP_EXECUTE WORLD_READ WORLD_EXECUTE
|
||||||
|
RENAME cura)
|
||||||
|
install(DIRECTORY cura
|
||||||
|
DESTINATION lib/python${PYTHON_VERSION_MAJOR}/dist-packages
|
||||||
|
FILES_MATCHING PATTERN *.py)
|
||||||
|
install(FILES ${CMAKE_BINARY_DIR}/CuraVersion.py
|
||||||
|
DESTINATION lib/python${PYTHON_VERSION_MAJOR}/dist-packages/cura)
|
||||||
|
install(FILES cura.desktop
|
||||||
|
DESTINATION ${CMAKE_INSTALL_DATADIR}/applications)
|
||||||
install(FILES cura.sharedmimeinfo
|
install(FILES cura.sharedmimeinfo
|
||||||
DESTINATION ${CMAKE_INSTALL_DATADIR}/mime/packages/
|
DESTINATION ${CMAKE_INSTALL_DATADIR}/mime/packages/
|
||||||
RENAME cura.xml )
|
RENAME cura.xml )
|
||||||
else()
|
else()
|
||||||
install(DIRECTORY cura DESTINATION lib/python${PYTHON_VERSION_MAJOR}.${PYTHON_VERSION_MINOR}/site-packages FILES_MATCHING PATTERN *.py)
|
install(FILES cura_app.py
|
||||||
install(FILES ${CMAKE_BINARY_DIR}/CuraVersion.py DESTINATION lib/python${PYTHON_VERSION_MAJOR}.${PYTHON_VERSION_MINOR}/site-packages/cura)
|
DESTINATION ${CMAKE_INSTALL_BINDIR}
|
||||||
|
PERMISSIONS OWNER_READ OWNER_WRITE OWNER_EXECUTE GROUP_READ GROUP_EXECUTE WORLD_READ WORLD_EXECUTE)
|
||||||
|
install(DIRECTORY cura
|
||||||
|
DESTINATION lib/python${PYTHON_VERSION_MAJOR}.${PYTHON_VERSION_MINOR}/site-packages
|
||||||
|
FILES_MATCHING PATTERN *.py)
|
||||||
|
install(FILES ${CMAKE_BINARY_DIR}/CuraVersion.py
|
||||||
|
DESTINATION lib/python${PYTHON_VERSION_MAJOR}.${PYTHON_VERSION_MINOR}/site-packages/cura)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
include(CPackConfig.cmake)
|
include(CPackConfig.cmake)
|
||||||
|
|
|
@ -1,12 +1,12 @@
|
||||||
[Desktop Entry]
|
[Desktop Entry]
|
||||||
Version=15.06.01
|
Version=1
|
||||||
Name=Cura
|
Name=Cura
|
||||||
Name[de]=Cura
|
Name[de]=Cura
|
||||||
GenericName=3D Printing Software
|
GenericName=3D Printing Software
|
||||||
GenericName[de]=3D-Druck-Software
|
GenericName[de]=3D-Druck-Software
|
||||||
Comment=
|
Comment=Cura converts 3D models into paths for a 3D printer. It prepares your print for maximum accuracy, minimum printing time and good reliability with many extra features that make your print come out great.
|
||||||
Exec=/usr/bin/cura_app.py %f
|
Exec=/usr/bin/cura %F
|
||||||
TryExec=/usr/bin/cura_app.py %f
|
TryExec=/usr/bin/cura
|
||||||
Icon=/usr/share/cura/resources/images/cura-icon.png
|
Icon=/usr/share/cura/resources/images/cura-icon.png
|
||||||
Terminal=false
|
Terminal=false
|
||||||
Type=Application
|
Type=Application
|
||||||
|
|
|
@ -88,9 +88,7 @@ class PlatformPhysics:
|
||||||
job = ConvexHullJob.ConvexHullJob(node)
|
job = ConvexHullJob.ConvexHullJob(node)
|
||||||
job.start()
|
job.start()
|
||||||
node.callDecoration("setConvexHullJob", job)
|
node.callDecoration("setConvexHullJob", job)
|
||||||
|
|
||||||
elif Selection.isSelected(node):
|
|
||||||
pass
|
|
||||||
elif Preferences.getInstance().getValue("physics/automatic_push_free"):
|
elif Preferences.getInstance().getValue("physics/automatic_push_free"):
|
||||||
# Check for collisions between convex hulls
|
# Check for collisions between convex hulls
|
||||||
for other_node in BreadthFirstIterator(root):
|
for other_node in BreadthFirstIterator(root):
|
||||||
|
|
|
@ -157,6 +157,7 @@ class CuraEngineBackend(Backend):
|
||||||
self._process = None
|
self._process = None
|
||||||
except: # terminating a process that is already terminating causes an exception, silently ignore this.
|
except: # terminating a process that is already terminating causes an exception, silently ignore this.
|
||||||
pass
|
pass
|
||||||
|
Logger.log("d", "Engine process is killed")
|
||||||
|
|
||||||
def _onStartSliceCompleted(self, job):
|
def _onStartSliceCompleted(self, job):
|
||||||
if job.getError() or job.getResult() != True:
|
if job.getError() or job.getResult() != True:
|
||||||
|
|
|
@ -105,7 +105,7 @@ class StartSliceJob(Job):
|
||||||
|
|
||||||
Logger.log("d", "Sending data to engine for slicing.")
|
Logger.log("d", "Sending data to engine for slicing.")
|
||||||
self._socket.sendMessage(slice_message)
|
self._socket.sendMessage(slice_message)
|
||||||
|
Logger.log("d", "Sending data to engine is completed")
|
||||||
self.setResult(True)
|
self.setResult(True)
|
||||||
|
|
||||||
def _expandGcodeTokens(self, key, value, settings):
|
def _expandGcodeTokens(self, key, value, settings):
|
||||||
|
|
|
@ -8,7 +8,6 @@
|
||||||
"layer_height": "layer_height",
|
"layer_height": "layer_height",
|
||||||
"layer_height_0": "bottom_thickness",
|
"layer_height_0": "bottom_thickness",
|
||||||
"wall_thickness": "wall_thickness",
|
"wall_thickness": "wall_thickness",
|
||||||
"top_bottom_thickness": "solid_layer_thickness",
|
|
||||||
"top_thickness": "0 if (solid_top == \"False\") else solid_layer_thickness",
|
"top_thickness": "0 if (solid_top == \"False\") else solid_layer_thickness",
|
||||||
"bottom_thickness": "0 if (solid_bottom == \"False\") else solid_layer_thickness",
|
"bottom_thickness": "0 if (solid_bottom == \"False\") else solid_layer_thickness",
|
||||||
"infill_sparse_density": "fill_density",
|
"infill_sparse_density": "fill_density",
|
||||||
|
|
|
@ -237,7 +237,7 @@ Item {
|
||||||
|
|
||||||
delegate: ToolButton {
|
delegate: ToolButton {
|
||||||
id: button;
|
id: button;
|
||||||
x: model.depth * UM.Theme.getSize("default_margin").width;
|
x: model.visible_depth * UM.Theme.getSize("default_margin").width;
|
||||||
text: model.name;
|
text: model.name;
|
||||||
tooltip: model.description;
|
tooltip: model.description;
|
||||||
visible: !model.global_only
|
visible: !model.global_only
|
||||||
|
|
|
@ -43,7 +43,7 @@ class OSXRemovableDrivePlugin(RemovableDrivePlugin.RemovableDrivePlugin):
|
||||||
return drives
|
return drives
|
||||||
|
|
||||||
def performEjectDevice(self, device):
|
def performEjectDevice(self, device):
|
||||||
p = subprocess.Popen(["diskutil", "eject", device.getId()], stdin=subprocess.PIPE, stdout=subprocess.PIPE, stderr=subprocess.PIPE)
|
p = subprocess.Popen(["diskutil", "eject", device.getId()], stdin = subprocess.PIPE, stdout = subprocess.PIPE, stderr = subprocess.PIPE)
|
||||||
output = p.communicate()
|
output = p.communicate()
|
||||||
Logger.log("d", "umount returned: %s.", repr(output))
|
Logger.log("d", "umount returned: %s.", repr(output))
|
||||||
|
|
||||||
|
|
|
@ -25,6 +25,7 @@ class RemovableDriveOutputDevice(OutputDevice):
|
||||||
self._writing = False
|
self._writing = False
|
||||||
|
|
||||||
def requestWrite(self, node, file_name = None, filter_by_machine = False):
|
def requestWrite(self, node, file_name = None, filter_by_machine = False):
|
||||||
|
filter_by_machine = True # This plugin is indended to be used by machine (regardless of what it was told to do)
|
||||||
if self._writing:
|
if self._writing:
|
||||||
raise OutputDeviceError.DeviceBusyError()
|
raise OutputDeviceError.DeviceBusyError()
|
||||||
|
|
||||||
|
|
|
@ -6,9 +6,10 @@ import time
|
||||||
|
|
||||||
from UM.Message import Message
|
from UM.Message import Message
|
||||||
from UM.OutputDevice.OutputDevicePlugin import OutputDevicePlugin
|
from UM.OutputDevice.OutputDevicePlugin import OutputDevicePlugin
|
||||||
|
from UM.Logger import Logger
|
||||||
|
|
||||||
from . import RemovableDriveOutputDevice
|
from . import RemovableDriveOutputDevice
|
||||||
|
from UM.Logger import Logger
|
||||||
from UM.i18n import i18nCatalog
|
from UM.i18n import i18nCatalog
|
||||||
catalog = i18nCatalog("cura")
|
catalog = i18nCatalog("cura")
|
||||||
|
|
||||||
|
@ -37,11 +38,14 @@ class RemovableDrivePlugin(OutputDevicePlugin):
|
||||||
|
|
||||||
def ejectDevice(self, device):
|
def ejectDevice(self, device):
|
||||||
try:
|
try:
|
||||||
|
Logger.log("i", "Attempting to eject the device")
|
||||||
result = self.performEjectDevice(device)
|
result = self.performEjectDevice(device)
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
|
Logger.log("e", "Ejection failed due to: %s" % str(e))
|
||||||
result = False
|
result = False
|
||||||
|
|
||||||
if result:
|
if result:
|
||||||
|
Logger.log("i", "Succesfully ejected the device")
|
||||||
message = Message(catalog.i18nc("@info:status", "Ejected {0}. You can now safely remove the drive.").format(device.getName()))
|
message = Message(catalog.i18nc("@info:status", "Ejected {0}. You can now safely remove the drive.").format(device.getName()))
|
||||||
message.show()
|
message.show()
|
||||||
else:
|
else:
|
||||||
|
|
|
@ -10,6 +10,9 @@ from . import RemovableDrivePlugin
|
||||||
import string
|
import string
|
||||||
import ctypes
|
import ctypes
|
||||||
|
|
||||||
|
from UM.i18n import i18nCatalog
|
||||||
|
catalog = i18nCatalog("cura")
|
||||||
|
|
||||||
# WinAPI Constants that we need
|
# WinAPI Constants that we need
|
||||||
# Hardcoded here due to stupid WinDLL stuff that does not give us access to these values.
|
# Hardcoded here due to stupid WinDLL stuff that does not give us access to these values.
|
||||||
DRIVE_REMOVABLE = 2 # [CodeStyle: Windows Enum value]
|
DRIVE_REMOVABLE = 2 # [CodeStyle: Windows Enum value]
|
||||||
|
@ -24,6 +27,21 @@ IOCTL_STORAGE_EJECT_MEDIA = 2967560 # [CodeStyle: Windows Enum value]
|
||||||
|
|
||||||
OPEN_EXISTING = 3 # [CodeStyle: Windows Enum value]
|
OPEN_EXISTING = 3 # [CodeStyle: Windows Enum value]
|
||||||
|
|
||||||
|
# Setup the DeviceIoControl function arguments and return type.
|
||||||
|
# See ctypes documentation for details on how to call C functions from python, and why this is important.
|
||||||
|
windll.kernel32.DeviceIoControl.argtypes = [
|
||||||
|
wintypes.HANDLE, # _In_ HANDLE hDevice
|
||||||
|
wintypes.DWORD, # _In_ DWORD dwIoControlCode
|
||||||
|
wintypes.LPVOID, # _In_opt_ LPVOID lpInBuffer
|
||||||
|
wintypes.DWORD, # _In_ DWORD nInBufferSize
|
||||||
|
wintypes.LPVOID, # _Out_opt_ LPVOID lpOutBuffer
|
||||||
|
wintypes.DWORD, # _In_ DWORD nOutBufferSize
|
||||||
|
ctypes.POINTER(wintypes.DWORD), # _Out_opt_ LPDWORD lpBytesReturned
|
||||||
|
wintypes.LPVOID # _Inout_opt_ LPOVERLAPPED lpOverlapped
|
||||||
|
]
|
||||||
|
windll.kernel32.DeviceIoControl.restype = wintypes.BOOL
|
||||||
|
|
||||||
|
|
||||||
## Removable drive support for windows
|
## Removable drive support for windows
|
||||||
class WindowsRemovableDrivePlugin(RemovableDrivePlugin.RemovableDrivePlugin):
|
class WindowsRemovableDrivePlugin(RemovableDrivePlugin.RemovableDrivePlugin):
|
||||||
def checkRemovableDrives(self):
|
def checkRemovableDrives(self):
|
||||||
|
@ -75,16 +93,31 @@ class WindowsRemovableDrivePlugin(RemovableDrivePlugin.RemovableDrivePlugin):
|
||||||
handle = ctypes.windll.kernel32.CreateFileA("\\\\.\\{0}".format(device.getId()[:-1]).encode("ascii"), GENERIC_READ | GENERIC_WRITE, FILE_SHARE_READ | FILE_SHARE_WRITE, None, OPEN_EXISTING, 0, None )
|
handle = ctypes.windll.kernel32.CreateFileA("\\\\.\\{0}".format(device.getId()[:-1]).encode("ascii"), GENERIC_READ | GENERIC_WRITE, FILE_SHARE_READ | FILE_SHARE_WRITE, None, OPEN_EXISTING, 0, None )
|
||||||
|
|
||||||
if handle == -1:
|
if handle == -1:
|
||||||
print(ctypes.windll.kernel32.GetLastError())
|
# ctypes.WinError sets up an GetLastError API call for windows as an Python OSError exception.
|
||||||
return
|
# So we use this to raise the error to our caller.
|
||||||
|
raise ctypes.WinError()
|
||||||
|
|
||||||
|
# The DeviceIoControl requires a bytes_returned pointer to be a valid pointer.
|
||||||
|
# So create a ctypes DWORD to reference. (Without this pointer the DeviceIoControl function will crash with an access violation after doing its job.
|
||||||
|
bytes_returned = wintypes.DWORD(0)
|
||||||
|
|
||||||
|
error = None
|
||||||
|
|
||||||
result = None
|
|
||||||
# Then, try and tell it to eject
|
# Then, try and tell it to eject
|
||||||
if not ctypes.windll.kernel32.DeviceIoControl(handle, IOCTL_STORAGE_EJECT_MEDIA, None, None, None, None, None, None):
|
return_code = windll.kernel32.DeviceIoControl(handle, IOCTL_STORAGE_EJECT_MEDIA, None, 0, None, 0, ctypes.pointer(bytes_returned), None)
|
||||||
result = False
|
# DeviceIoControl with IOCTL_STORAGE_EJECT_MEDIA return 0 on error.
|
||||||
else:
|
if return_code == 0:
|
||||||
result = True
|
# ctypes.WinError sets up an GetLastError API call for windows as an Python OSError exception.
|
||||||
|
# So we use this to raise the error to our caller.
|
||||||
|
error = ctypes.WinError()
|
||||||
|
# Do not raise an error here yet, so we can properly close the handle.
|
||||||
|
|
||||||
# Finally, close the handle
|
# Finally, close the handle
|
||||||
ctypes.windll.kernel32.CloseHandle(handle)
|
windll.kernel32.CloseHandle(handle)
|
||||||
return result
|
|
||||||
|
# If an error happened in the DeviceIoControl, raise it now.
|
||||||
|
if error:
|
||||||
|
raise error
|
||||||
|
|
||||||
|
# Return success
|
||||||
|
return True
|
|
@ -366,15 +366,33 @@ class PrinterConnection(OutputDevice, QObject, SignalEmitter):
|
||||||
Logger.log("d", "Setting bed temperature to %s", temperature)
|
Logger.log("d", "Setting bed temperature to %s", temperature)
|
||||||
self._sendCommand("M140 S%s" % temperature)
|
self._sendCommand("M140 S%s" % temperature)
|
||||||
|
|
||||||
|
@pyqtSlot()
|
||||||
|
def setMoveToRelative(self):
|
||||||
|
self._sendCommand("G91")
|
||||||
|
|
||||||
|
@pyqtSlot()
|
||||||
|
def setMoveToAbsolute(self):
|
||||||
|
self._sendCommand("G90")
|
||||||
|
|
||||||
@pyqtSlot("long", "long","long")
|
@pyqtSlot("long", "long","long")
|
||||||
def moveHead(self, x, y, z):
|
def moveHead(self, x, y, z):
|
||||||
Logger.log("d","Moving head to %s, %s , %s", x, y, z)
|
Logger.log("d","Moving head to %s, %s , %s", x, y, z)
|
||||||
self._sendCommand("G0 X%s Y%s Z%s"%(x,y,z))
|
self._sendCommand("G0 X%s Y%s Z%s F3000" % (x, y, z))
|
||||||
|
|
||||||
|
@pyqtSlot("long", "long","long")
|
||||||
|
def moveHeadRelative(self, x, y, z):
|
||||||
|
self.setMoveToRelative()
|
||||||
|
self.moveHead(x,y,z)
|
||||||
|
self.setMoveToAbsolute()
|
||||||
|
|
||||||
@pyqtSlot()
|
@pyqtSlot()
|
||||||
def homeHead(self):
|
def homeHead(self):
|
||||||
self._sendCommand("G28")
|
self._sendCommand("G28")
|
||||||
|
|
||||||
|
@pyqtSlot()
|
||||||
|
def homeBed(self):
|
||||||
|
self._sendCommand("G28 Z")
|
||||||
|
|
||||||
## Directly send the command, withouth checking connection state (eg; printing).
|
## Directly send the command, withouth checking connection state (eg; printing).
|
||||||
# \param cmd string with g-code
|
# \param cmd string with g-code
|
||||||
def _sendCommand(self, cmd):
|
def _sendCommand(self, cmd):
|
||||||
|
@ -466,7 +484,7 @@ class PrinterConnection(OutputDevice, QObject, SignalEmitter):
|
||||||
self._bed_temperature = temperature
|
self._bed_temperature = temperature
|
||||||
self.bedTemperatureChanged.emit()
|
self.bedTemperatureChanged.emit()
|
||||||
|
|
||||||
def requestWrite(self, node, file_name = None):
|
def requestWrite(self, node, file_name = None, filter_by_machine = False):
|
||||||
self.showControlInterface()
|
self.showControlInterface()
|
||||||
|
|
||||||
def _setEndstopState(self, endstop_key, value):
|
def _setEndstopState(self, endstop_key, value):
|
||||||
|
|
|
@ -8,14 +8,14 @@ msgstr ""
|
||||||
"Project-Id-Version: Cura 2.1\n"
|
"Project-Id-Version: Cura 2.1\n"
|
||||||
"Report-Msgid-Bugs-To: \n"
|
"Report-Msgid-Bugs-To: \n"
|
||||||
"POT-Creation-Date: 2016-01-18 11:54+0100\n"
|
"POT-Creation-Date: 2016-01-18 11:54+0100\n"
|
||||||
"PO-Revision-Date: 2016-02-07 16:01+0100\n"
|
"PO-Revision-Date: 2016-03-09 15:28+0100\n"
|
||||||
"Language: de\n"
|
"Language: de\n"
|
||||||
"MIME-Version: 1.0\n"
|
"MIME-Version: 1.0\n"
|
||||||
"Content-Type: text/plain; charset=UTF-8\n"
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
"Content-Transfer-Encoding: 8bit\n"
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
"Last-Translator: Thomas Karl Pietrowski <thopiekar@googlemail.com>\n"
|
"Last-Translator: Thomas Karl Pietrowski <thopiekar@googlemail.com>\n"
|
||||||
"Language-Team: \n"
|
"Language-Team: \n"
|
||||||
"X-Generator: Poedit 1.8.4\n"
|
"X-Generator: Poedit 1.8.7.1\n"
|
||||||
|
|
||||||
#: /home/tamara/2.1/Cura/cura/CrashHandler.py:26
|
#: /home/tamara/2.1/Cura/cura/CrashHandler.py:26
|
||||||
msgctxt "@title:window"
|
msgctxt "@title:window"
|
||||||
|
@ -249,7 +249,7 @@ msgstr "Über USB drucken"
|
||||||
#: /home/tamara/2.1/Cura/plugins/USBPrinting/PrinterConnection.py:37
|
#: /home/tamara/2.1/Cura/plugins/USBPrinting/PrinterConnection.py:37
|
||||||
msgctxt "@info:tooltip"
|
msgctxt "@info:tooltip"
|
||||||
msgid "Print with USB"
|
msgid "Print with USB"
|
||||||
msgstr "Über USB drucken"
|
msgstr "Drucken über USB"
|
||||||
|
|
||||||
#: /home/tamara/2.1/Cura/plugins/USBPrinting/__init__.py:13
|
#: /home/tamara/2.1/Cura/plugins/USBPrinting/__init__.py:13
|
||||||
msgctxt "@label"
|
msgctxt "@label"
|
||||||
|
|
|
@ -350,6 +350,7 @@
|
||||||
"min_value_warning": "0.2",
|
"min_value_warning": "0.2",
|
||||||
"max_value_warning": "5",
|
"max_value_warning": "5",
|
||||||
"visible": false,
|
"visible": false,
|
||||||
|
"enabled": "False",
|
||||||
"children": {
|
"children": {
|
||||||
"wall_thickness": {
|
"wall_thickness": {
|
||||||
"label": "Wall Thickness",
|
"label": "Wall Thickness",
|
||||||
|
@ -357,8 +358,8 @@
|
||||||
"unit": "mm",
|
"unit": "mm",
|
||||||
"default": 0.8,
|
"default": 0.8,
|
||||||
"min_value": "0",
|
"min_value": "0",
|
||||||
"min_value_warning": "0.2",
|
"min_value_warning": "line_width",
|
||||||
"max_value_warning": "5",
|
"max_value_warning": "5 * line_width",
|
||||||
"type": "float",
|
"type": "float",
|
||||||
"visible": true,
|
"visible": true,
|
||||||
"children": {
|
"children": {
|
||||||
|
@ -449,12 +450,22 @@
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
|
"alternate_extra_perimeter": {
|
||||||
|
"label": "Alternate Extra Wall",
|
||||||
|
"description": "Make an extra wall at every second layer, so that infill will be caught between an extra wall above and one below. This results in a better cohesion between infill and walls, but might have an impact on the surface quality.",
|
||||||
|
"type": "boolean",
|
||||||
|
"default": false,
|
||||||
|
"visible": false,
|
||||||
|
"inherit": false
|
||||||
|
},
|
||||||
"remove_overlapping_walls_enabled": {
|
"remove_overlapping_walls_enabled": {
|
||||||
"label": "Remove Overlapping Wall Parts",
|
"label": "Remove Overlapping Wall Parts",
|
||||||
"description": "Remove parts of a wall which share an overlap which would result in overextrusion in some places. These overlaps occur in thin pieces in a model and sharp corners.",
|
"description": "Remove parts of a wall which share an overlap which would result in overextrusion in some places. These overlaps occur in thin pieces in a model and sharp corners.",
|
||||||
"type": "boolean",
|
"type": "boolean",
|
||||||
"default": false,
|
"default": false,
|
||||||
"visible": false,
|
"visible": false,
|
||||||
|
"enabled": "False",
|
||||||
"children": {
|
"children": {
|
||||||
"remove_overlapping_walls_0_enabled": {
|
"remove_overlapping_walls_0_enabled": {
|
||||||
"label": "Remove Overlapping Outer Wall Parts",
|
"label": "Remove Overlapping Outer Wall Parts",
|
||||||
|
@ -462,7 +473,8 @@
|
||||||
"type": "boolean",
|
"type": "boolean",
|
||||||
"default": false,
|
"default": false,
|
||||||
"visible": false,
|
"visible": false,
|
||||||
"inherit": true
|
"inherit": true,
|
||||||
|
"enabled": "False"
|
||||||
},
|
},
|
||||||
"remove_overlapping_walls_x_enabled": {
|
"remove_overlapping_walls_x_enabled": {
|
||||||
"label": "Remove Overlapping Other Wall Parts",
|
"label": "Remove Overlapping Other Wall Parts",
|
||||||
|
@ -666,7 +678,7 @@
|
||||||
"type": "string",
|
"type": "string",
|
||||||
"default": "[[3.5,200],[7.0,240]]",
|
"default": "[[3.5,200],[7.0,240]]",
|
||||||
"enabled": "material_flow_dependent_temperature",
|
"enabled": "material_flow_dependent_temperature",
|
||||||
"global_only": true
|
"global_only": true
|
||||||
},
|
},
|
||||||
"material_standby_temperature": {
|
"material_standby_temperature": {
|
||||||
"label": "Standby Temperature",
|
"label": "Standby Temperature",
|
||||||
|
@ -676,6 +688,8 @@
|
||||||
"default": 150,
|
"default": 150,
|
||||||
"min_value": "0",
|
"min_value": "0",
|
||||||
"max_value_warning": "260",
|
"max_value_warning": "260",
|
||||||
|
"enabled": "False",
|
||||||
|
"enabled_before_removal": "material_flow_dependent_temperature",
|
||||||
"global_only": true
|
"global_only": true
|
||||||
},
|
},
|
||||||
"material_extrusion_cool_down_speed": {
|
"material_extrusion_cool_down_speed": {
|
||||||
|
@ -687,7 +701,8 @@
|
||||||
"min_value": "0",
|
"min_value": "0",
|
||||||
"max_value_warning": "10.0",
|
"max_value_warning": "10.0",
|
||||||
"global_only": "True",
|
"global_only": "True",
|
||||||
"enabled": "material_flow_dependent_temperature or machine_extruder_count > 1",
|
"enabled": "False",
|
||||||
|
"enabled_before_removal": "material_flow_dependent_temperature or machine_extruder_count > 1",
|
||||||
"visible": false
|
"visible": false
|
||||||
},
|
},
|
||||||
"material_bed_temperature": {
|
"material_bed_temperature": {
|
||||||
|
@ -1015,22 +1030,20 @@
|
||||||
"default": true,
|
"default": true,
|
||||||
"visible": false,
|
"visible": false,
|
||||||
"enabled": "retraction_combing",
|
"enabled": "retraction_combing",
|
||||||
"global_only": "True",
|
"global_only": "True"
|
||||||
"children": {
|
},
|
||||||
"travel_avoid_distance": {
|
"travel_avoid_distance": {
|
||||||
"label": "Avoid Distance",
|
"label": "Avoid Distance",
|
||||||
"description": "The distance to stay clear of parts which are avoided during travel.",
|
"description": "The distance to stay clear of parts which are avoided during travel.",
|
||||||
"unit": "mm",
|
"unit": "mm",
|
||||||
"type": "float",
|
"type": "float",
|
||||||
"default": 1.5,
|
"default": 1.5,
|
||||||
"min_value": "0",
|
"min_value": "0",
|
||||||
"max_value_warning": "machine_nozzle_tip_outer_diameter * 5",
|
"max_value_warning": "machine_nozzle_tip_outer_diameter * 5",
|
||||||
"visible": false,
|
"visible": false,
|
||||||
"inherit": false,
|
"inherit": false,
|
||||||
"enabled": "retraction_combing",
|
"enabled": "retraction_combing and travel_avoid_other_parts",
|
||||||
"global_only": "True"
|
"global_only": "True"
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
},
|
||||||
"coasting_enable": {
|
"coasting_enable": {
|
||||||
"label": "Enable Coasting",
|
"label": "Enable Coasting",
|
||||||
|
@ -1090,45 +1103,44 @@
|
||||||
"description": "Enable the cooling fan during the print. The extra cooling from the cooling fan helps parts with small cross sections that print each layer quickly.",
|
"description": "Enable the cooling fan during the print. The extra cooling from the cooling fan helps parts with small cross sections that print each layer quickly.",
|
||||||
"type": "boolean",
|
"type": "boolean",
|
||||||
"default": true,
|
"default": true,
|
||||||
|
"global_only": "True"
|
||||||
|
},
|
||||||
|
"cool_fan_speed": {
|
||||||
|
"label": "Fan Speed",
|
||||||
|
"description": "Fan speed used for the print cooling fan on the printer head.",
|
||||||
|
"unit": "%",
|
||||||
|
"type": "float",
|
||||||
|
"min_value": "0",
|
||||||
|
"max_value": "100",
|
||||||
|
"default": 100,
|
||||||
|
"visible": false,
|
||||||
|
"inherit_function": "100.0 if cool_fan_enabled else 0.0",
|
||||||
|
"enabled": "cool_fan_enabled",
|
||||||
"global_only": "True",
|
"global_only": "True",
|
||||||
"children": {
|
"children": {
|
||||||
"cool_fan_speed": {
|
"cool_fan_speed_min": {
|
||||||
"label": "Fan Speed",
|
"label": "Minimum Fan Speed",
|
||||||
"description": "Fan speed used for the print cooling fan on the printer head.",
|
"description": "Normally the fan runs at the minimum fan speed. If the layer is slowed down due to minimum layer time, the fan speed adjusts between minimum and maximum fan speed.",
|
||||||
"unit": "%",
|
"unit": "%",
|
||||||
"type": "float",
|
"type": "float",
|
||||||
"min_value": "0",
|
"min_value": "0",
|
||||||
"max_value": "100",
|
"max_value": "100",
|
||||||
"default": 100,
|
"default": 100,
|
||||||
"visible": false,
|
"visible": false,
|
||||||
"inherit_function": "100.0 if parent_value else 0.0",
|
"enabled": "cool_fan_enabled",
|
||||||
"global_only": "True",
|
"global_only": "True"
|
||||||
"children": {
|
},
|
||||||
"cool_fan_speed_min": {
|
"cool_fan_speed_max": {
|
||||||
"label": "Minimum Fan Speed",
|
"label": "Maximum Fan Speed",
|
||||||
"description": "Normally the fan runs at the minimum fan speed. If the layer is slowed down due to minimum layer time, the fan speed adjusts between minimum and maximum fan speed.",
|
"description": "Normally the fan runs at the minimum fan speed. If the layer is slowed down due to minimum layer time, the fan speed adjusts between minimum and maximum fan speed.",
|
||||||
"unit": "%",
|
"unit": "%",
|
||||||
"type": "float",
|
"type": "float",
|
||||||
"min_value": "0",
|
"min_value": "0",
|
||||||
"max_value": "min(100, cool_fan_speed_max)",
|
"max_value": "100",
|
||||||
"inherit_function": "parent_value",
|
"default": 100,
|
||||||
"default": 100,
|
"visible": false,
|
||||||
"visible": false,
|
"enabled": "cool_fan_enabled",
|
||||||
"global_only": "True"
|
"global_only": "True"
|
||||||
},
|
|
||||||
"cool_fan_speed_max": {
|
|
||||||
"label": "Maximum Fan Speed",
|
|
||||||
"description": "Normally the fan runs at the minimum fan speed. If the layer is slowed down due to minimum layer time, the fan speed adjusts between minimum and maximum fan speed.",
|
|
||||||
"unit": "%",
|
|
||||||
"type": "float",
|
|
||||||
"min_value": "max(0, cool_fan_speed_min)",
|
|
||||||
"max_value": "100",
|
|
||||||
"inherit": false,
|
|
||||||
"default": 100,
|
|
||||||
"visible": false,
|
|
||||||
"global_only": "True"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
@ -1480,22 +1492,20 @@
|
||||||
"min_value_warning": "support_minimal_diameter",
|
"min_value_warning": "support_minimal_diameter",
|
||||||
"max_value_warning": "10",
|
"max_value_warning": "10",
|
||||||
"visible": false,
|
"visible": false,
|
||||||
"enabled": "support_enable and support_use_towers",
|
"enabled": "support_enable and support_use_towers"
|
||||||
"children": {
|
},
|
||||||
"support_minimal_diameter": {
|
"support_minimal_diameter": {
|
||||||
"label": "Minimum Diameter",
|
"label": "Minimum Diameter",
|
||||||
"description": "Minimum diameter in the X/Y directions of a small area which is to be supported by a specialized support tower.",
|
"description": "Minimum diameter in the X/Y directions of a small area which is to be supported by a specialized support tower.",
|
||||||
"unit": "mm",
|
"unit": "mm",
|
||||||
"type": "float",
|
"type": "float",
|
||||||
"default": 3.0,
|
"default": 3.0,
|
||||||
"min_value": "0",
|
"min_value": "0",
|
||||||
"max_value_warning": "10",
|
"max_value_warning": "10",
|
||||||
"max_value": "support_tower_diameter",
|
"max_value": "support_tower_diameter",
|
||||||
"inherit": true,
|
"inherit": true,
|
||||||
"visible": false,
|
"visible": false,
|
||||||
"enabled": "support_enable and support_use_towers"
|
"enabled": "support_enable and support_use_towers"
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
},
|
||||||
"support_tower_roof_angle": {
|
"support_tower_roof_angle": {
|
||||||
"label": "Tower Roof Angle",
|
"label": "Tower Roof Angle",
|
||||||
|
@ -1576,6 +1586,7 @@
|
||||||
"raft": "Raft"
|
"raft": "Raft"
|
||||||
},
|
},
|
||||||
"default": "skirt",
|
"default": "skirt",
|
||||||
|
"inherit_function": "\"skirt\" if machine_heated_bed else \"brim\"",
|
||||||
"global_only": "True"
|
"global_only": "True"
|
||||||
},
|
},
|
||||||
"skirt_line_count": {
|
"skirt_line_count": {
|
||||||
|
|
|
@ -40,8 +40,8 @@
|
||||||
"machine_settings": {
|
"machine_settings": {
|
||||||
"machine_start_gcode" : { "default": "" },
|
"machine_start_gcode" : { "default": "" },
|
||||||
"machine_end_gcode" : { "default": "" },
|
"machine_end_gcode" : { "default": "" },
|
||||||
"machine_width": { "default": 230 },
|
"machine_width": { "default": 223 },
|
||||||
"machine_depth": { "default": 225 },
|
"machine_depth": { "default": 223 },
|
||||||
"machine_height": { "default": 205 },
|
"machine_height": { "default": 205 },
|
||||||
"machine_heated_bed": { "default": true },
|
"machine_heated_bed": { "default": true },
|
||||||
|
|
||||||
|
|
|
@ -5,8 +5,5 @@ name = PLA
|
||||||
|
|
||||||
[settings]
|
[settings]
|
||||||
material_bed_temperature = 60
|
material_bed_temperature = 60
|
||||||
platform_adhesion = skirt
|
|
||||||
material_flow = 100
|
material_flow = 100
|
||||||
material_print_temperature = 210
|
material_print_temperature = 210
|
||||||
cool_fan_speed = 100
|
|
||||||
cool_fan_speed_max = 100
|
|
|
@ -19,7 +19,6 @@ speed_print = 20
|
||||||
cool_min_speed = 25
|
cool_min_speed = 25
|
||||||
line_width = 0.22
|
line_width = 0.22
|
||||||
infill_sparse_density = 22
|
infill_sparse_density = 22
|
||||||
machine_nozzle_size = 0.22
|
|
||||||
speed_wall_0 = 20
|
speed_wall_0 = 20
|
||||||
cool_min_layer_time = 2
|
cool_min_layer_time = 2
|
||||||
cool_lift_head = True
|
cool_lift_head = True
|
||||||
|
|
|
@ -19,7 +19,6 @@ cool_min_layer_time = 3
|
||||||
cool_min_speed = 20
|
cool_min_speed = 20
|
||||||
line_width = 0.35
|
line_width = 0.35
|
||||||
infill_sparse_density = 18
|
infill_sparse_density = 18
|
||||||
machine_nozzle_size = 0.35
|
|
||||||
speed_travel = 150
|
speed_travel = 150
|
||||||
speed_wall_0 = 30
|
speed_wall_0 = 30
|
||||||
adhesion_type = brim
|
adhesion_type = brim
|
||||||
|
|
|
@ -19,7 +19,6 @@ adhesion_type = brim
|
||||||
cool_min_speed = 20
|
cool_min_speed = 20
|
||||||
line_width = 0.35
|
line_width = 0.35
|
||||||
infill_sparse_density = 22
|
infill_sparse_density = 22
|
||||||
machine_nozzle_size = 0.35
|
|
||||||
speed_wall_0 = 20
|
speed_wall_0 = 20
|
||||||
cool_min_layer_time = 3
|
cool_min_layer_time = 3
|
||||||
cool_lift_head = True
|
cool_lift_head = True
|
||||||
|
|
|
@ -16,7 +16,6 @@ speed_topbottom = 20
|
||||||
cool_min_layer_time = 3
|
cool_min_layer_time = 3
|
||||||
cool_min_speed = 20
|
cool_min_speed = 20
|
||||||
line_width = 0.35
|
line_width = 0.35
|
||||||
machine_nozzle_size = 0.35
|
|
||||||
speed_wall_0 = 20
|
speed_wall_0 = 20
|
||||||
adhesion_type = brim
|
adhesion_type = brim
|
||||||
cool_lift_head = True
|
cool_lift_head = True
|
||||||
|
|
|
@ -18,7 +18,6 @@ speed_topbottom = 20
|
||||||
adhesion_type = brim
|
adhesion_type = brim
|
||||||
cool_min_speed = 20
|
cool_min_speed = 20
|
||||||
line_width = 0.53
|
line_width = 0.53
|
||||||
machine_nozzle_size = 0.53
|
|
||||||
speed_wall_0 = 20
|
speed_wall_0 = 20
|
||||||
cool_min_layer_time = 3
|
cool_min_layer_time = 3
|
||||||
cool_lift_head = True
|
cool_lift_head = True
|
||||||
|
|
|
@ -18,7 +18,6 @@ speed_topbottom = 20
|
||||||
adhesion_type = brim
|
adhesion_type = brim
|
||||||
cool_min_speed = 15
|
cool_min_speed = 15
|
||||||
line_width = 0.7
|
line_width = 0.7
|
||||||
machine_nozzle_size = 0.7
|
|
||||||
speed_wall_0 = 20
|
speed_wall_0 = 20
|
||||||
cool_min_layer_time = 3
|
cool_min_layer_time = 3
|
||||||
cool_lift_head = True
|
cool_lift_head = True
|
||||||
|
|
|
@ -19,7 +19,6 @@ cool_min_layer_time = 2
|
||||||
speed_print = 20
|
speed_print = 20
|
||||||
line_width = 0.22
|
line_width = 0.22
|
||||||
infill_sparse_density = 22
|
infill_sparse_density = 22
|
||||||
machine_nozzle_size = 0.22
|
|
||||||
speed_wall_0 = 20
|
speed_wall_0 = 20
|
||||||
adhesion_type = brim
|
adhesion_type = brim
|
||||||
cool_lift_head = True
|
cool_lift_head = True
|
||||||
|
|
|
@ -20,7 +20,6 @@ speed_topbottom = 20
|
||||||
speed_travel = 150
|
speed_travel = 150
|
||||||
line_width = 0.35
|
line_width = 0.35
|
||||||
infill_sparse_density = 18
|
infill_sparse_density = 18
|
||||||
machine_nozzle_size = 0.35
|
|
||||||
speed_wall_0 = 30
|
speed_wall_0 = 30
|
||||||
adhesion_type = brim
|
adhesion_type = brim
|
||||||
cool_lift_head = True
|
cool_lift_head = True
|
||||||
|
|
|
@ -18,7 +18,6 @@ speed_topbottom = 20
|
||||||
adhesion_type = brim
|
adhesion_type = brim
|
||||||
line_width = 0.35
|
line_width = 0.35
|
||||||
infill_sparse_density = 22
|
infill_sparse_density = 22
|
||||||
machine_nozzle_size = 0.35
|
|
||||||
speed_wall_0 = 20
|
speed_wall_0 = 20
|
||||||
cool_min_layer_time = 3
|
cool_min_layer_time = 3
|
||||||
cool_lift_head = True
|
cool_lift_head = True
|
||||||
|
|
|
@ -15,7 +15,6 @@ speed_infill = 45
|
||||||
speed_topbottom = 20
|
speed_topbottom = 20
|
||||||
cool_min_layer_time = 3
|
cool_min_layer_time = 3
|
||||||
line_width = 0.35
|
line_width = 0.35
|
||||||
machine_nozzle_size = 0.35
|
|
||||||
speed_wall_0 = 20
|
speed_wall_0 = 20
|
||||||
adhesion_type = brim
|
adhesion_type = brim
|
||||||
cool_lift_head = True
|
cool_lift_head = True
|
||||||
|
|
|
@ -18,7 +18,6 @@ speed_topbottom = 20
|
||||||
cool_min_layer_time = 3
|
cool_min_layer_time = 3
|
||||||
speed_print = 20
|
speed_print = 20
|
||||||
line_width = 0.53
|
line_width = 0.53
|
||||||
machine_nozzle_size = 0.53
|
|
||||||
speed_wall_0 = 20
|
speed_wall_0 = 20
|
||||||
adhesion_type = brim
|
adhesion_type = brim
|
||||||
cool_lift_head = True
|
cool_lift_head = True
|
||||||
|
|
|
@ -18,7 +18,6 @@ speed_topbottom = 20
|
||||||
cool_min_layer_time = 3
|
cool_min_layer_time = 3
|
||||||
speed_print = 20
|
speed_print = 20
|
||||||
line_width = 0.7
|
line_width = 0.7
|
||||||
machine_nozzle_size = 0.7
|
|
||||||
speed_wall_0 = 20
|
speed_wall_0 = 20
|
||||||
adhesion_type = brim
|
adhesion_type = brim
|
||||||
cool_lift_head = True
|
cool_lift_head = True
|
||||||
|
|
|
@ -7,7 +7,7 @@ material = PLA
|
||||||
weight = -2
|
weight = -2
|
||||||
|
|
||||||
[settings]
|
[settings]
|
||||||
machine_nozzle_size = 0.22
|
line_width = 0.22
|
||||||
layer_height = 0.06
|
layer_height = 0.06
|
||||||
layer_height_0 = 0.15
|
layer_height_0 = 0.15
|
||||||
shell_thickness = 0.88
|
shell_thickness = 0.88
|
||||||
|
@ -18,7 +18,6 @@ infill_wipe_dist = 0.1
|
||||||
retraction_amount = 6
|
retraction_amount = 6
|
||||||
retraction_min_travel = 0.5
|
retraction_min_travel = 0.5
|
||||||
retraction_count_max = 30
|
retraction_count_max = 30
|
||||||
retraction_extrusion_window = 6
|
|
||||||
speed_infill = 30
|
speed_infill = 30
|
||||||
speed_wall_0 = 20
|
speed_wall_0 = 20
|
||||||
speed_wall_x = 25
|
speed_wall_x = 25
|
||||||
|
|
|
@ -7,7 +7,7 @@ material = PLA
|
||||||
weight = -1
|
weight = -1
|
||||||
|
|
||||||
[settings]
|
[settings]
|
||||||
machine_nozzle_size = 0.35
|
line_width = 0.35
|
||||||
layer_height = 0.15
|
layer_height = 0.15
|
||||||
layer_height_0 = 0.26
|
layer_height_0 = 0.26
|
||||||
shell_thickness = 0.7
|
shell_thickness = 0.7
|
||||||
|
@ -18,7 +18,6 @@ infill_wipe_dist = 0.2
|
||||||
retraction_amount = 5.5
|
retraction_amount = 5.5
|
||||||
retraction_min_travel = 0.5
|
retraction_min_travel = 0.5
|
||||||
retraction_count_max = 30
|
retraction_count_max = 30
|
||||||
retraction_extrusion_window = 6
|
|
||||||
speed_infill = 60
|
speed_infill = 60
|
||||||
speed_wall_0 = 40
|
speed_wall_0 = 40
|
||||||
speed_wall_x = 50
|
speed_wall_x = 50
|
||||||
|
|
|
@ -7,7 +7,7 @@ material = PLA
|
||||||
weight = -3
|
weight = -3
|
||||||
|
|
||||||
[settings]
|
[settings]
|
||||||
machine_nozzle_size = 0.35
|
line_width = 0.35
|
||||||
layer_height = 0.06
|
layer_height = 0.06
|
||||||
layer_height_0 = 0.26
|
layer_height_0 = 0.26
|
||||||
shell_thickness = 1.05
|
shell_thickness = 1.05
|
||||||
|
@ -18,7 +18,6 @@ infill_wipe_dist = 0.18
|
||||||
retraction_amount = 5.5
|
retraction_amount = 5.5
|
||||||
retraction_min_travel = 0.5
|
retraction_min_travel = 0.5
|
||||||
retraction_count_max = 30
|
retraction_count_max = 30
|
||||||
retraction_extrusion_window = 6
|
|
||||||
speed_infill = 50
|
speed_infill = 50
|
||||||
speed_wall_0 = 30
|
speed_wall_0 = 30
|
||||||
speed_wall_x = 40
|
speed_wall_x = 40
|
||||||
|
|
|
@ -7,7 +7,7 @@ material = PLA
|
||||||
weight = -2
|
weight = -2
|
||||||
|
|
||||||
[settings]
|
[settings]
|
||||||
machine_nozzle_size = 0.35
|
line_width = 0.35
|
||||||
layer_height = 0.1
|
layer_height = 0.1
|
||||||
layer_height_0 = 0.26
|
layer_height_0 = 0.26
|
||||||
shell_thickness = 1.05
|
shell_thickness = 1.05
|
||||||
|
@ -18,7 +18,6 @@ infill_wipe_dist = 0.2
|
||||||
retraction_amount = 5.5
|
retraction_amount = 5.5
|
||||||
retraction_min_travel = 0.5
|
retraction_min_travel = 0.5
|
||||||
retraction_count_max = 30
|
retraction_count_max = 30
|
||||||
retraction_extrusion_window = 6
|
|
||||||
speed_infill = 50
|
speed_infill = 50
|
||||||
speed_wall_0 = 30
|
speed_wall_0 = 30
|
||||||
speed_wall_x = 40
|
speed_wall_x = 40
|
||||||
|
|
|
@ -7,7 +7,7 @@ material = PLA
|
||||||
weight = -4
|
weight = -4
|
||||||
|
|
||||||
[settings]
|
[settings]
|
||||||
machine_nozzle_size = 0.35
|
line_width = 0.35
|
||||||
layer_height = 0.04
|
layer_height = 0.04
|
||||||
layer_height_0 = 0.26
|
layer_height_0 = 0.26
|
||||||
shell_thickness = 1.4
|
shell_thickness = 1.4
|
||||||
|
|
|
@ -7,7 +7,7 @@ material = PLA
|
||||||
weight = -2
|
weight = -2
|
||||||
|
|
||||||
[settings]
|
[settings]
|
||||||
machine_nozzle_size = 0.53
|
line_width = 0.53
|
||||||
layer_height = 0.15
|
layer_height = 0.15
|
||||||
layer_height_0 = 0.4
|
layer_height_0 = 0.4
|
||||||
shell_thickness = 1.59
|
shell_thickness = 1.59
|
||||||
|
@ -18,7 +18,6 @@ infill_wipe_dist = 0.3
|
||||||
retraction_amount = 6
|
retraction_amount = 6
|
||||||
retraction_min_travel = 0.5
|
retraction_min_travel = 0.5
|
||||||
retraction_count_max = 30
|
retraction_count_max = 30
|
||||||
retraction_extrusion_window = 6
|
|
||||||
speed_infill = 55
|
speed_infill = 55
|
||||||
speed_wall_0 = 25
|
speed_wall_0 = 25
|
||||||
speed_wall_x = 40
|
speed_wall_x = 40
|
||||||
|
|
|
@ -7,7 +7,7 @@ material = PLA
|
||||||
weight = -2
|
weight = -2
|
||||||
|
|
||||||
[settings]
|
[settings]
|
||||||
machine_nozzle_size = 0.7
|
line_width = 0.7
|
||||||
layer_height = 0.2
|
layer_height = 0.2
|
||||||
layer_height_0 = 0.5
|
layer_height_0 = 0.5
|
||||||
shell_thickness = 2.1
|
shell_thickness = 2.1
|
||||||
|
@ -18,7 +18,6 @@ infill_wipe_dist = 0.4
|
||||||
retraction_amount = 6
|
retraction_amount = 6
|
||||||
retraction_min_travel = 0.5
|
retraction_min_travel = 0.5
|
||||||
retraction_count_max = 30
|
retraction_count_max = 30
|
||||||
retraction_extrusion_window = 6
|
|
||||||
speed_infill = 40
|
speed_infill = 40
|
||||||
speed_wall_0 = 20
|
speed_wall_0 = 20
|
||||||
speed_wall_x = 30
|
speed_wall_x = 30
|
||||||
|
|
|
@ -6,7 +6,7 @@ machine_variant = 0.25 mm
|
||||||
weight = -2
|
weight = -2
|
||||||
|
|
||||||
[settings]
|
[settings]
|
||||||
machine_nozzle_size = 0.22
|
line_width = 0.22
|
||||||
layer_height = 0.06
|
layer_height = 0.06
|
||||||
layer_height_0 = 0.15
|
layer_height_0 = 0.15
|
||||||
shell_thickness = 0.88
|
shell_thickness = 0.88
|
||||||
|
|
|
@ -6,7 +6,7 @@ machine_variant = 0.4 mm
|
||||||
weight = -1
|
weight = -1
|
||||||
|
|
||||||
[settings]
|
[settings]
|
||||||
machine_nozzle_size = 0.35
|
line_width = 0.35
|
||||||
layer_height = 0.15
|
layer_height = 0.15
|
||||||
layer_height_0 = 0.26
|
layer_height_0 = 0.26
|
||||||
shell_thickness = 0.7
|
shell_thickness = 0.7
|
||||||
|
|
|
@ -6,7 +6,7 @@ machine_variant = 0.4 mm
|
||||||
weight = -3
|
weight = -3
|
||||||
|
|
||||||
[settings]
|
[settings]
|
||||||
machine_nozzle_size = 0.35
|
line_width = 0.35
|
||||||
layer_height = 0.06
|
layer_height = 0.06
|
||||||
layer_height_0 = 0.26
|
layer_height_0 = 0.26
|
||||||
shell_thickness = 1.05
|
shell_thickness = 1.05
|
||||||
|
|
|
@ -6,7 +6,7 @@ machine_variant = 0.4 mm
|
||||||
weight = -2
|
weight = -2
|
||||||
|
|
||||||
[settings]
|
[settings]
|
||||||
machine_nozzle_size = 0.35
|
line_width = 0.35
|
||||||
layer_height = 0.1
|
layer_height = 0.1
|
||||||
layer_height_0 = 0.26
|
layer_height_0 = 0.26
|
||||||
shell_thickness = 1.05
|
shell_thickness = 1.05
|
||||||
|
|
|
@ -6,7 +6,7 @@ machine_variant = 0.4 mm
|
||||||
weight = -4
|
weight = -4
|
||||||
|
|
||||||
[settings]
|
[settings]
|
||||||
machine_nozzle_size = 0.35
|
line_width = 0.35
|
||||||
layer_height = 0.04
|
layer_height = 0.04
|
||||||
layer_height_0 = 0.26
|
layer_height_0 = 0.26
|
||||||
shell_thickness = 1.4
|
shell_thickness = 1.4
|
||||||
|
|
|
@ -6,7 +6,7 @@ machine_variant = 0.6 mm
|
||||||
weight = -2
|
weight = -2
|
||||||
|
|
||||||
[settings]
|
[settings]
|
||||||
machine_nozzle_size = 0.53
|
line_width = 0.53
|
||||||
layer_height = 0.15
|
layer_height = 0.15
|
||||||
layer_height_0 = 0.4
|
layer_height_0 = 0.4
|
||||||
shell_thickness = 1.59
|
shell_thickness = 1.59
|
||||||
|
|
|
@ -6,7 +6,7 @@ machine_variant = 0.8 mm
|
||||||
weight = -2
|
weight = -2
|
||||||
|
|
||||||
[settings]
|
[settings]
|
||||||
machine_nozzle_size = 0.7
|
line_width = 0.7
|
||||||
layer_height = 0.2
|
layer_height = 0.2
|
||||||
layer_height_0 = 0.5
|
layer_height_0 = 0.5
|
||||||
shell_thickness = 2.1
|
shell_thickness = 2.1
|
||||||
|
|
|
@ -124,16 +124,13 @@ Rectangle {
|
||||||
anchors.right: printJobPencilIcon.left
|
anchors.right: printJobPencilIcon.left
|
||||||
anchors.rightMargin: UM.Theme.getSize("default_margin").width/2
|
anchors.rightMargin: UM.Theme.getSize("default_margin").width/2
|
||||||
height: UM.Theme.getSize("jobspecs_line").height
|
height: UM.Theme.getSize("jobspecs_line").height
|
||||||
width: __contentWidth + UM.Theme.getSize("default_margin").width
|
width: Math.max(__contentWidth + UM.Theme.getSize("default_margin").width, 50)
|
||||||
maximumLength: 120
|
maximumLength: 120
|
||||||
property int unremovableSpacing: 5
|
property int unremovableSpacing: 5
|
||||||
text: ''
|
text: ''
|
||||||
horizontalAlignment: TextInput.AlignRight
|
horizontalAlignment: TextInput.AlignRight
|
||||||
onTextChanged: {
|
onTextChanged: {
|
||||||
if(text != ''){
|
Printer.setJobName(text)
|
||||||
//Prevent that jobname is set to an empty string
|
|
||||||
Printer.setJobName(text)
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
onEditingFinished: {
|
onEditingFinished: {
|
||||||
if (printJobTextfield.text != ''){
|
if (printJobTextfield.text != ''){
|
||||||
|
@ -161,7 +158,7 @@ Rectangle {
|
||||||
anchors.right: parent.right
|
anchors.right: parent.right
|
||||||
height: UM.Theme.getSize("jobspecs_line").height
|
height: UM.Theme.getSize("jobspecs_line").height
|
||||||
verticalAlignment: Text.AlignVCenter
|
verticalAlignment: Text.AlignVCenter
|
||||||
font: UM.Theme.getFont("small")
|
font: UM.Theme.getFont("small_bold")
|
||||||
color: UM.Theme.getColor("text_subtext")
|
color: UM.Theme.getColor("text_subtext")
|
||||||
text: Printer.getSceneBoundingBoxString
|
text: Printer.getSceneBoundingBoxString
|
||||||
}
|
}
|
||||||
|
@ -193,7 +190,7 @@ Rectangle {
|
||||||
anchors.right: lengthIcon.left
|
anchors.right: lengthIcon.left
|
||||||
anchors.rightMargin: UM.Theme.getSize("default_margin").width
|
anchors.rightMargin: UM.Theme.getSize("default_margin").width
|
||||||
anchors.verticalCenter: parent.verticalCenter
|
anchors.verticalCenter: parent.verticalCenter
|
||||||
font: UM.Theme.getFont("small")
|
font: UM.Theme.getFont("small_bold")
|
||||||
color: UM.Theme.getColor("text_subtext")
|
color: UM.Theme.getColor("text_subtext")
|
||||||
text: (!base.printDuration || !base.printDuration.valid) ? catalog.i18nc("@label", "00h 00min") : base.printDuration.getDisplayString(UM.DurationFormat.Short)
|
text: (!base.printDuration || !base.printDuration.valid) ? catalog.i18nc("@label", "00h 00min") : base.printDuration.getDisplayString(UM.DurationFormat.Short)
|
||||||
}
|
}
|
||||||
|
@ -213,7 +210,7 @@ Rectangle {
|
||||||
id: lengthSpec
|
id: lengthSpec
|
||||||
anchors.right: parent.right
|
anchors.right: parent.right
|
||||||
anchors.verticalCenter: parent.verticalCenter
|
anchors.verticalCenter: parent.verticalCenter
|
||||||
font: UM.Theme.getFont("small")
|
font: UM.Theme.getFont("small_bold")
|
||||||
color: UM.Theme.getColor("text_subtext")
|
color: UM.Theme.getColor("text_subtext")
|
||||||
text: base.printMaterialAmount <= 0 ? catalog.i18nc("@label", "0.0 m") : catalog.i18nc("@label", "%1 m").arg(base.printMaterialAmount)
|
text: base.printMaterialAmount <= 0 ? catalog.i18nc("@label", "0.0 m") : catalog.i18nc("@label", "%1 m").arg(base.printMaterialAmount)
|
||||||
}
|
}
|
||||||
|
|
|
@ -19,7 +19,12 @@ Item
|
||||||
property int platform_height: UM.MachineManager.getSettingValue("machine_depth")
|
property int platform_height: UM.MachineManager.getSettingValue("machine_depth")
|
||||||
anchors.fill: parent;
|
anchors.fill: parent;
|
||||||
property variant printer_connection: UM.USBPrinterManager.connectedPrinterList.getItem(0).printer
|
property variant printer_connection: UM.USBPrinterManager.connectedPrinterList.getItem(0).printer
|
||||||
Component.onCompleted: printer_connection.homeHead()
|
Component.onCompleted:
|
||||||
|
{
|
||||||
|
printer_connection.homeBed()
|
||||||
|
printer_connection.moveHeadRelative(0, 0, 3)
|
||||||
|
printer_connection.homeHead()
|
||||||
|
}
|
||||||
UM.I18nCatalog { id: catalog; name:"cura"}
|
UM.I18nCatalog { id: catalog; name:"cura"}
|
||||||
property variant wizard: null;
|
property variant wizard: null;
|
||||||
|
|
||||||
|
@ -79,15 +84,23 @@ Item
|
||||||
{
|
{
|
||||||
if(wizardPage.leveling_state == 0)
|
if(wizardPage.leveling_state == 0)
|
||||||
{
|
{
|
||||||
printer_connection.moveHead(platform_width, 0 ,0)
|
printer_connection.moveHeadRelative(0, 0, 3)
|
||||||
|
printer_connection.homeHead()
|
||||||
|
printer_connection.moveHeadRelative(0, 0, 3)
|
||||||
|
printer_connection.moveHeadRelative(platform_width - 10, 0, 0)
|
||||||
|
printer_connection.moveHeadRelative(0, 0, -3)
|
||||||
}
|
}
|
||||||
if(wizardPage.leveling_state == 1)
|
if(wizardPage.leveling_state == 1)
|
||||||
{
|
{
|
||||||
printer_connection.moveHead(platform_width/2, platform_height, 0)
|
printer_connection.moveHeadRelative(0, 0, 3)
|
||||||
|
printer_connection.moveHeadRelative(-platform_width/2, platform_height - 10, 0)
|
||||||
|
printer_connection.moveHeadRelative(0, 0, -3)
|
||||||
}
|
}
|
||||||
if(wizardPage.leveling_state == 2)
|
if(wizardPage.leveling_state == 2)
|
||||||
{
|
{
|
||||||
printer_connection.moveHead(0, 0, 0)
|
printer_connection.moveHeadRelative(0, 0, 3)
|
||||||
|
printer_connection.moveHeadRelative(-platform_width/2 + 10, -(platform_height + 10), 0)
|
||||||
|
printer_connection.moveHeadRelative(0, 0, -3)
|
||||||
}
|
}
|
||||||
wizardPage.leveling_state++
|
wizardPage.leveling_state++
|
||||||
if (wizardPage.leveling_state >= 3){
|
if (wizardPage.leveling_state >= 3){
|
||||||
|
|
17
resources/themes/cura/icons/notice.svg
Normal file
17
resources/themes/cura/icons/notice.svg
Normal file
|
@ -0,0 +1,17 @@
|
||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<!-- Generator: Adobe Illustrator 16.2.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
|
||||||
|
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
|
||||||
|
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
|
||||||
|
width="1792px" height="1792px" viewBox="0 0 1792 1792" enable-background="new 0 0 1792 1792" xml:space="preserve">
|
||||||
|
<path d="M896,2.071c162.18,0,311.75,39.963,448.71,119.889c136.961,79.926,245.403,188.37,325.33,325.33
|
||||||
|
C1749.966,584.25,1789.929,733.82,1789.929,896s-39.963,311.749-119.889,448.71c-79.927,136.961-188.369,245.403-325.33,325.33
|
||||||
|
c-136.96,79.926-286.53,119.889-448.71,119.889c-162.179,0-311.75-39.963-448.71-119.889
|
||||||
|
c-136.96-79.927-245.404-188.369-325.33-325.33C42.035,1207.749,2.071,1058.18,2.071,896S42.035,584.25,121.96,447.29
|
||||||
|
c79.926-136.96,188.369-245.404,325.33-325.33C584.25,42.034,733.821,2.071,896,2.071z M1044.988,1453.541v-221.154
|
||||||
|
c0-10.863-3.492-19.981-10.476-27.353c-6.984-7.372-15.52-11.058-25.607-11.058H785.423c-10.088,0-19.011,3.879-26.771,11.64
|
||||||
|
c-7.76,7.76-11.64,16.683-11.64,26.771v221.154c0,10.089,3.88,19.012,11.64,26.771c7.76,7.761,16.684,11.64,26.771,11.64h223.482
|
||||||
|
c10.088,0,18.623-3.686,25.607-11.058C1041.496,1473.523,1044.988,1464.404,1044.988,1453.541z M1042.66,1053.136l20.951-722.825
|
||||||
|
c0-9.312-3.879-16.295-11.64-20.951c-7.76-6.208-17.071-9.312-27.935-9.312H767.963c-10.863,0-20.175,3.104-27.935,9.312
|
||||||
|
c-7.76,4.656-11.64,11.64-11.64,20.951l19.788,722.825c0,7.761,3.879,14.55,11.64,20.369c7.76,5.82,17.072,8.73,27.936,8.73h215.334
|
||||||
|
c10.863,0,19.982-2.91,27.354-8.73C1037.81,1067.686,1041.884,1060.896,1042.66,1053.136z"/>
|
||||||
|
</svg>
|
After Width: | Height: | Size: 1.7 KiB |
1
resources/themes/cura/icons/warning.svg
Normal file
1
resources/themes/cura/icons/warning.svg
Normal file
|
@ -0,0 +1 @@
|
||||||
|
<svg width="1792" height="1792" viewBox="0 0 1792 1792" xmlns="http://www.w3.org/2000/svg"><path d="M1024 1375v-190q0-14-9.5-23.5t-22.5-9.5h-192q-13 0-22.5 9.5t-9.5 23.5v190q0 14 9.5 23.5t22.5 9.5h192q13 0 22.5-9.5t9.5-23.5zm-2-374l18-459q0-12-10-19-13-11-24-11h-220q-11 0-24 11-10 7-10 21l17 457q0 10 10 16.5t24 6.5h185q14 0 23.5-6.5t10.5-16.5zm-14-934l768 1408q35 63-2 126-17 29-46.5 46t-63.5 17h-1536q-34 0-63.5-17t-46.5-46q-37-63-2-126l768-1408q17-31 47-49t65-18 65 18 47 49z"/></svg>
|
After Width: | Height: | Size: 488 B |
|
@ -18,6 +18,12 @@
|
||||||
"size": 1.0,
|
"size": 1.0,
|
||||||
"family": "Open Sans"
|
"family": "Open Sans"
|
||||||
},
|
},
|
||||||
|
"small_bold":
|
||||||
|
{
|
||||||
|
"size": 1.0,
|
||||||
|
"family": "Open Sans",
|
||||||
|
"bold": true
|
||||||
|
},
|
||||||
"very_small": {
|
"very_small": {
|
||||||
"size": 0.75,
|
"size": 0.75,
|
||||||
"family": "Open Sans"
|
"family": "Open Sans"
|
||||||
|
@ -68,7 +74,7 @@
|
||||||
"text_hover": [70, 84, 113, 255],
|
"text_hover": [70, 84, 113, 255],
|
||||||
"text_pressed": [12, 169, 227, 255],
|
"text_pressed": [12, 169, 227, 255],
|
||||||
"text_white": [255, 255, 255, 255],
|
"text_white": [255, 255, 255, 255],
|
||||||
"text_subtext": [127, 127, 127, 255],
|
"text_subtext": [100, 100, 100, 255],
|
||||||
|
|
||||||
"error": [255, 140, 0, 255],
|
"error": [255, 140, 0, 255],
|
||||||
"sidebar_header_bar": [24, 41, 77, 255],
|
"sidebar_header_bar": [24, 41, 77, 255],
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue