Merge branch 'Ultimaker:master' into master

This commit is contained in:
goofoo3d 2021-09-06 14:24:55 +08:00 committed by GitHub
commit d84945b71f
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
404 changed files with 17311 additions and 9422 deletions

View File

@ -28,6 +28,6 @@
<image>https://raw.githubusercontent.com/Ultimaker/Cura/master/screenshot.png</image> <image>https://raw.githubusercontent.com/Ultimaker/Cura/master/screenshot.png</image>
</screenshot> </screenshot>
</screenshots> </screenshots>
<url type="homepage">https://ultimaker.com/en/products/cura-software?utm_source=cura&amp;utm_medium=software&amp;utm_campaign=resources</url> <url type="homepage">https://ultimaker.com/software/ultimaker-cura?utm_source=cura&amp;utm_medium=software&amp;utm_campaign=cura-update-linux</url>
<translation type="gettext">Cura</translation> <translation type="gettext">Cura</translation>
</component> </component>

View File

@ -13,7 +13,7 @@ DEFAULT_CURA_DEBUG_MODE = False
# Each release has a fixed SDK version coupled with it. It doesn't make sense to make it configurable because, for # Each release has a fixed SDK version coupled with it. It doesn't make sense to make it configurable because, for
# example Cura 3.2 with SDK version 6.1 will not work. So the SDK version is hard-coded here and left out of the # example Cura 3.2 with SDK version 6.1 will not work. So the SDK version is hard-coded here and left out of the
# CuraVersion.py.in template. # CuraVersion.py.in template.
CuraSDKVersion = "7.6.0" CuraSDKVersion = "7.7.0"
try: try:
from cura.CuraVersion import CuraAppName # type: ignore from cura.CuraVersion import CuraAppName # type: ignore

View File

@ -35,7 +35,7 @@ class CuraActions(QObject):
# Starting a web browser from a signal handler connected to a menu will crash on windows. # Starting a web browser from a signal handler connected to a menu will crash on windows.
# So instead, defer the call to the next run of the event loop, since that does work. # So instead, defer the call to the next run of the event loop, since that does work.
# Note that weirdly enough, only signal handlers that open a web browser fail like that. # Note that weirdly enough, only signal handlers that open a web browser fail like that.
event = CallFunctionEvent(self._openUrl, [QUrl("https://ultimaker.com/en/resources/manuals/software")], {}) event = CallFunctionEvent(self._openUrl, [QUrl("https://ultimaker.com/en/resources/manuals/software?utm_source=cura&utm_medium=software&utm_campaign=dropdown-documentation")], {})
cura.CuraApplication.CuraApplication.getInstance().functionEvent(event) cura.CuraApplication.CuraApplication.getInstance().functionEvent(event)
@pyqtSlot() @pyqtSlot()

View File

@ -161,7 +161,7 @@ class CuraApplication(QtApplication):
self.default_theme = "cura-light" self.default_theme = "cura-light"
self.change_log_url = "https://ultimaker.com/ultimaker-cura-latest-features" self.change_log_url = "https://ultimaker.com/ultimaker-cura-latest-features?utm_source=cura&utm_medium=software&utm_campaign=cura-update-features"
self._boot_loading_time = time.time() self._boot_loading_time = time.time()
@ -471,6 +471,8 @@ class CuraApplication(QtApplication):
("definition_changes", InstanceContainer.Version * 1000000 + self.SettingVersion): (self.ResourceTypes.DefinitionChangesContainer, "application/x-uranium-instancecontainer"), ("definition_changes", InstanceContainer.Version * 1000000 + self.SettingVersion): (self.ResourceTypes.DefinitionChangesContainer, "application/x-uranium-instancecontainer"),
("variant", InstanceContainer.Version * 1000000 + self.SettingVersion): (self.ResourceTypes.VariantInstanceContainer, "application/x-uranium-instancecontainer"), ("variant", InstanceContainer.Version * 1000000 + self.SettingVersion): (self.ResourceTypes.VariantInstanceContainer, "application/x-uranium-instancecontainer"),
("setting_visibility", SettingVisibilityPresetsModel.Version * 1000000 + self.SettingVersion): (self.ResourceTypes.SettingVisibilityPreset, "application/x-uranium-preferences"), ("setting_visibility", SettingVisibilityPresetsModel.Version * 1000000 + self.SettingVersion): (self.ResourceTypes.SettingVisibilityPreset, "application/x-uranium-preferences"),
("machine", 2): (Resources.DefinitionContainers, "application/x-uranium-definitioncontainer"),
("extruder", 2): (Resources.DefinitionContainers, "application/x-uranium-definitioncontainer")
} }
) )

View File

@ -3,7 +3,7 @@
from datetime import datetime from datetime import datetime
import json import json
import random import secrets
from hashlib import sha512 from hashlib import sha512
from base64 import b64encode from base64 import b64encode
from typing import Optional from typing import Optional
@ -48,8 +48,8 @@ class AuthorizationHelpers:
} }
try: try:
return self.parseTokenResponse(requests.post(self._token_url, data = data)) # type: ignore return self.parseTokenResponse(requests.post(self._token_url, data = data)) # type: ignore
except requests.exceptions.ConnectionError: except requests.exceptions.ConnectionError as connection_error:
return AuthenticationResponse(success=False, err_message="Unable to connect to remote server") return AuthenticationResponse(success = False, err_message = f"Unable to connect to remote server: {connection_error}")
def getAccessTokenUsingRefreshToken(self, refresh_token: str) -> "AuthenticationResponse": def getAccessTokenUsingRefreshToken(self, refresh_token: str) -> "AuthenticationResponse":
"""Request the access token from the authorization server using a refresh token. """Request the access token from the authorization server using a refresh token.
@ -139,11 +139,11 @@ class AuthorizationHelpers:
def generateVerificationCode(code_length: int = 32) -> str: def generateVerificationCode(code_length: int = 32) -> str:
"""Generate a verification code of arbitrary length. """Generate a verification code of arbitrary length.
:param code_length:: How long should the code be? This should never be lower than 16, but it's probably :param code_length:: How long should the code be in bytes? This should never be lower than 16, but it's probably
better to leave it at 32 better to leave it at 32
""" """
return "".join(random.choice("0123456789ABCDEF") for i in range(code_length)) return secrets.token_hex(code_length)
@staticmethod @staticmethod
def generateVerificationCodeChallenge(verification_code: str) -> str: def generateVerificationCodeChallenge(verification_code: str) -> str:

View File

@ -24,7 +24,7 @@ if TYPE_CHECKING:
from cura.OAuth2.Models import UserProfile, OAuth2Settings from cura.OAuth2.Models import UserProfile, OAuth2Settings
from UM.Preferences import Preferences from UM.Preferences import Preferences
MYCLOUD_LOGOFF_URL = "https://mycloud.ultimaker.com/logoff" MYCLOUD_LOGOFF_URL = "https://account.ultimaker.com/logoff?utm_source=cura&utm_medium=software&utm_campaign=change-account-before-adding-printers"
class AuthorizationService: class AuthorizationService:
"""The authorization service is responsible for handling the login flow, storing user credentials and providing """The authorization service is responsible for handling the login flow, storing user credentials and providing
@ -209,25 +209,27 @@ class AuthorizationService:
link to force the a browser logout from mycloud.ultimaker.com link to force the a browser logout from mycloud.ultimaker.com
:return: The authentication URL, properly formatted and encoded :return: The authentication URL, properly formatted and encoded
""" """
auth_url = "{}?{}".format(self._auth_url, urlencode(query_parameters_dict)) auth_url = f"{self._auth_url}?{urlencode(query_parameters_dict)}"
if force_browser_logout: if force_browser_logout:
# The url after '?next=' should be urlencoded connecting_char = "&" if "?" in MYCLOUD_LOGOFF_URL else "?"
auth_url = "{}?next={}".format(MYCLOUD_LOGOFF_URL, quote_plus(auth_url)) # The url after 'next=' should be urlencoded
auth_url = f"{MYCLOUD_LOGOFF_URL}{connecting_char}next={quote_plus(auth_url)}"
return auth_url return auth_url
def _onAuthStateChanged(self, auth_response: AuthenticationResponse) -> None: def _onAuthStateChanged(self, auth_response: AuthenticationResponse) -> None:
"""Callback method for the authentication flow.""" """Callback method for the authentication flow."""
if auth_response.success: if auth_response.success:
Logger.log("d", "Got callback from Authorization state. The user should now be logged in!")
self._storeAuthData(auth_response) self._storeAuthData(auth_response)
self.onAuthStateChanged.emit(logged_in = True) self.onAuthStateChanged.emit(logged_in = True)
else: else:
Logger.log("d", "Got callback from Authorization state. Something went wrong: [%s]", auth_response.err_message)
self.onAuthenticationError.emit(logged_in = False, error_message = auth_response.err_message) self.onAuthenticationError.emit(logged_in = False, error_message = auth_response.err_message)
self._server.stop() # Stop the web server at all times. self._server.stop() # Stop the web server at all times.
def loadAuthDataFromPreferences(self) -> None: def loadAuthDataFromPreferences(self) -> None:
"""Load authentication data from preferences.""" """Load authentication data from preferences."""
Logger.log("d", "Attempting to load the auth data from preferences.")
if self._preferences is None: if self._preferences is None:
Logger.log("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 return
@ -239,6 +241,7 @@ class AuthorizationService:
user_profile = self.getUserProfile() user_profile = self.getUserProfile()
if user_profile is not None: if user_profile is not None:
self.onAuthStateChanged.emit(logged_in = True) self.onAuthStateChanged.emit(logged_in = True)
Logger.log("d", "Auth data was successfully loaded")
else: else:
if self._unable_to_get_data_message is not None: if self._unable_to_get_data_message is not None:
self._unable_to_get_data_message.hide() self._unable_to_get_data_message.hide()
@ -247,6 +250,7 @@ class AuthorizationService:
"Unable to reach the Ultimaker account server."), "Unable to reach the Ultimaker account server."),
title = i18n_catalog.i18nc("@info:title", "Warning"), title = i18n_catalog.i18nc("@info:title", "Warning"),
message_type = Message.MessageType.ERROR) message_type = Message.MessageType.ERROR)
Logger.log("w", "Unable to load auth data from preferences")
self._unable_to_get_data_message.show() self._unable_to_get_data_message.show()
except (ValueError, TypeError): except (ValueError, TypeError):
Logger.logException("w", "Could not load auth data from preferences") Logger.logException("w", "Could not load auth data from preferences")
@ -264,6 +268,7 @@ class AuthorizationService:
self._user_profile = self.getUserProfile() self._user_profile = self.getUserProfile()
self._preferences.setValue(self._settings.AUTH_DATA_PREFERENCE_KEY, json.dumps(auth_data.dump())) self._preferences.setValue(self._settings.AUTH_DATA_PREFERENCE_KEY, json.dumps(auth_data.dump()))
else: else:
Logger.log("d", "Clearing the user profile")
self._user_profile = None self._user_profile = None
self._preferences.resetPreference(self._settings.AUTH_DATA_PREFERENCE_KEY) self._preferences.resetPreference(self._settings.AUTH_DATA_PREFERENCE_KEY)

View File

@ -14,13 +14,18 @@ if TYPE_CHECKING:
# Need to do some extra workarounds on windows: # Need to do some extra workarounds on windows:
import sys import sys
from UM.Platform import Platform from UM.Platform import Platform
if Platform.isWindows() and hasattr(sys, "frozen"): if Platform.isWindows():
if hasattr(sys, "frozen"):
import win32timezone import win32timezone
from keyring.backends.Windows import WinVaultKeyring from keyring.backends.Windows import WinVaultKeyring
keyring.set_keyring(WinVaultKeyring()) keyring.set_keyring(WinVaultKeyring())
if Platform.isOSX() and hasattr(sys, "frozen"): if Platform.isOSX():
from keyring.backends.macOS import Keyring from keyring.backends.macOS import Keyring
keyring.set_keyring(Keyring()) keyring.set_keyring(Keyring())
if Platform.isLinux():
# We do not support the keyring on Linux, so make sure no Keyring backend is loaded, even if there is a system one.
from keyring.backends.fail import Keyring as NoKeyringBackend
keyring.set_keyring(NoKeyringBackend())
# Even if errors happen, we don't want this stored locally: # Even if errors happen, we don't want this stored locally:
DONT_EVER_STORE_LOCALLY: List[str] = ["refresh_token"] DONT_EVER_STORE_LOCALLY: List[str] = ["refresh_token"]
@ -43,6 +48,10 @@ class KeyringAttribute:
self._store_secure = False self._store_secure = False
Logger.log("i", "Access to the keyring was denied.") Logger.log("i", "Access to the keyring was denied.")
return getattr(instance, self._name) return getattr(instance, self._name)
except UnicodeDecodeError:
self._store_secure = False
Logger.log("w", "The password retrieved from the keyring cannot be used because it contains characters that cannot be decoded.")
return getattr(instance, self._name)
else: else:
return getattr(instance, self._name) return getattr(instance, self._name)

View File

@ -1,4 +1,4 @@
# Copyright (c) 2020 Ultimaker B.V. # Copyright (c) 2021 Ultimaker B.V.
# Cura is released under the terms of the LGPLv3 or higher. # Cura is released under the terms of the LGPLv3 or higher.
from typing import Optional, TYPE_CHECKING, cast, List from typing import Optional, TYPE_CHECKING, cast, List
@ -74,6 +74,7 @@ class PreviewPass(RenderPass):
self._shader.setUniformValue("u_faceId", -1) # Don't render any selected faces in the preview. self._shader.setUniformValue("u_faceId", -1) # Don't render any selected faces in the preview.
else: else:
Logger.error("Unable to compile shader program: overhang.shader") Logger.error("Unable to compile shader program: overhang.shader")
return
if not self._non_printing_shader: if not self._non_printing_shader:
self._non_printing_shader = OpenGL.getInstance().createShaderProgram(Resources.getPath(Resources.Shaders, "transparent_object.shader")) self._non_printing_shader = OpenGL.getInstance().createShaderProgram(Resources.getPath(Resources.Shaders, "transparent_object.shader"))

View File

@ -93,7 +93,7 @@ class Snapshot:
pixel_output = preview_pass.getOutput() pixel_output = preview_pass.getOutput()
try: try:
min_x, max_x, min_y, max_y = Snapshot.getImageBoundaries(pixel_output) min_x, max_x, min_y, max_y = Snapshot.getImageBoundaries(pixel_output)
except ValueError: except (ValueError, AttributeError):
return None return None
size = max((max_x - min_x) / render_width, (max_y - min_y) / render_height) size = max((max_x - min_x) / render_width, (max_y - min_y) / render_height)

View File

@ -13,6 +13,8 @@ from UM.Qt.Duration import Duration
from UM.Scene.SceneNode import SceneNode from UM.Scene.SceneNode import SceneNode
from UM.i18n import i18nCatalog from UM.i18n import i18nCatalog
from UM.MimeTypeDatabase import MimeTypeDatabase, MimeTypeNotFoundError from UM.MimeTypeDatabase import MimeTypeDatabase, MimeTypeNotFoundError
from UM.OutputDevice.OutputDevice import OutputDevice
from UM.OutputDevice.ProjectOutputDevice import ProjectOutputDevice
if TYPE_CHECKING: if TYPE_CHECKING:
from cura.CuraApplication import CuraApplication from cura.CuraApplication import CuraApplication
@ -68,6 +70,7 @@ class PrintInformation(QObject):
self._application.globalContainerStackChanged.connect(self.setToZeroPrintInformation) self._application.globalContainerStackChanged.connect(self.setToZeroPrintInformation)
self._application.fileLoaded.connect(self.setBaseName) self._application.fileLoaded.connect(self.setBaseName)
self._application.workspaceLoaded.connect(self.setProjectName) self._application.workspaceLoaded.connect(self.setProjectName)
self._application.getOutputDeviceManager().writeStarted.connect(self._onOutputStart)
self._application.getMachineManager().rootMaterialChanged.connect(self._onActiveMaterialsChanged) self._application.getMachineManager().rootMaterialChanged.connect(self._onActiveMaterialsChanged)
self._application.getInstance().getPreferences().preferenceChanged.connect(self._onPreferencesChanged) self._application.getInstance().getPreferences().preferenceChanged.connect(self._onPreferencesChanged)
@ -439,3 +442,14 @@ class PrintInformation(QObject):
"""Listen to scene changes to check if we need to reset the print information""" """Listen to scene changes to check if we need to reset the print information"""
self.setToZeroPrintInformation(self._active_build_plate) self.setToZeroPrintInformation(self._active_build_plate)
def _onOutputStart(self, output_device: OutputDevice) -> None:
"""If this is the sort of output 'device' (like local or online file storage, rather than a printer),
the user could have altered the file-name, and thus the project name should be altered as well."""
if isinstance(output_device, ProjectOutputDevice):
new_name = output_device.getLastOutputName()
if new_name is not None:
if len(os.path.dirname(new_name)) > 0:
self.setProjectName(new_name)
else:
self.setJobName(new_name)

View File

@ -159,7 +159,8 @@ class CuraEngineBackend(QObject, Backend):
self._slicing_error_message = Message( self._slicing_error_message = Message(
text = catalog.i18nc("@message", "Slicing failed with an unexpected error. Please consider reporting a bug on our issue tracker."), text = catalog.i18nc("@message", "Slicing failed with an unexpected error. Please consider reporting a bug on our issue tracker."),
title = catalog.i18nc("@message:title", "Slicing failed") title = catalog.i18nc("@message:title", "Slicing failed"),
message_type = Message.MessageType.ERROR
) )
self._slicing_error_message.addAction( self._slicing_error_message.addAction(
action_id = "report_bug", action_id = "report_bug",
@ -467,6 +468,7 @@ class CuraEngineBackend(QObject, Backend):
self._error_message.show() self._error_message.show()
self.setState(BackendState.Error) self.setState(BackendState.Error)
self.backendError.emit(job) self.backendError.emit(job)
return
else: else:
self.setState(BackendState.NotStarted) self.setState(BackendState.NotStarted)

View File

@ -200,7 +200,7 @@ Item
anchors.bottom: parent.bottom anchors.bottom: parent.bottom
anchors.right: parent.right anchors.right: parent.right
text: "Save" text: "Save"
enabled: (asProjectCheckbox.checked || asSlicedCheckbox.checked) && dfFilenameTextfield.text.length >= 1 enabled: (asProjectCheckbox.checked || asSlicedCheckbox.checked) && dfFilenameTextfield.text.length >= 1 && dfFilenameTextfield.state !== 'invalid'
onClicked: onClicked:
{ {

View File

@ -49,11 +49,27 @@ Item
id: searchBar id: searchBar
Layout.fillWidth: true Layout.fillWidth: true
implicitHeight: createNewProjectButton.height implicitHeight: createNewProjectButton.height
leftPadding: searchIcon.width + UM.Theme.getSize("default_margin").width * 2
onTextEdited: manager.projectFilter = text //Update the search filter when editing this text field. onTextEdited: manager.projectFilter = text //Update the search filter when editing this text field.
leftIcon: UM.Theme.getIcon("Magnifier")
placeholderText: "Search" placeholderText: "Search"
UM.RecolorImage
{
id: searchIcon
anchors
{
verticalCenter: parent.verticalCenter
left: parent.left
leftMargin: UM.Theme.getSize("default_margin").width
}
source: UM.Theme.getIcon("search")
height: UM.Theme.getSize("small_button_icon").height
width: height
color: UM.Theme.getColor("text")
}
} }
Cura.SecondaryButton Cura.SecondaryButton
@ -76,12 +92,11 @@ Item
id: upgradePlanButton id: upgradePlanButton
text: "Upgrade plan" text: "Upgrade plan"
iconSource: UM.Theme.getIcon("LinkExternal") iconSource: UM.Theme.getIcon("external_link")
visible: createNewProjectButtonVisible && !manager.userAccountCanCreateNewLibraryProject && (manager.retrievingProjectsStatus == DF.RetrievalStatus.Success || manager.retrievingProjectsStatus == DF.RetrievalStatus.Failed) visible: createNewProjectButtonVisible && !manager.userAccountCanCreateNewLibraryProject && (manager.retrievingProjectsStatus == DF.RetrievalStatus.Success || manager.retrievingProjectsStatus == DF.RetrievalStatus.Failed)
tooltip: "You have reached the maximum number of projects allowed by your subscription. Please upgrade to the Professional subscription to create more projects." tooltip: "Maximum number of projects reached. Please upgrade your subscription to create more projects."
tooltipWidth: parent.width * 0.5
onClicked: Qt.openUrlExternally("https://ultimaker.com/software/ultimaker-essentials/sign-up-cura?utm_source=cura&utm_medium=software&utm_campaign=lib-max") onClicked: Qt.openUrlExternally("https://ultimaker.com/software/enterprise-software?utm_source=cura&utm_medium=software&utm_campaign=MaxProjLink")
} }
} }
@ -124,7 +139,7 @@ Item
id: visitDigitalLibraryButton id: visitDigitalLibraryButton
anchors.horizontalCenter: parent.horizontalCenter anchors.horizontalCenter: parent.horizontalCenter
text: "Visit Digital Library" text: "Visit Digital Library"
onClicked: Qt.openUrlExternally(CuraApplication.ultimakerDigitalFactoryUrl + "/app/library") onClicked: Qt.openUrlExternally(CuraApplication.ultimakerDigitalFactoryUrl + "/app/library?utm_source=cura&utm_medium=software&utm_campaign=empty-library")
visible: searchBar.text === "" //Show the link to Digital Library when there are no projects in the user's Library. visible: searchBar.text === "" //Show the link to Digital Library when there are no projects in the user's Library.
} }
} }

View File

@ -0,0 +1,17 @@
# Copyright (c) 2021 Ultimaker B.V.
# Cura is released under the terms of the LGPLv3 or higher.
from typing import Optional
from cura.CuraApplication import CuraApplication
from UM.Message import Message
from UM.Version import Version
def getBackwardsCompatibleMessage(text: str, title: str, message_type_str: str, lifetime: Optional[int] = 30) -> Message:
if CuraApplication.getInstance().getAPIVersion() < Version("7.7.0"):
return Message(text=text, title=title, lifetime=lifetime)
else:
message_type = Message.MessageType.NEUTRAL
if ("MessageType." + message_type_str) in [str(item) for item in Message.MessageType]:
message_type = Message.MessageType[message_type_str]
return Message(text=text, title=title, lifetime=lifetime, message_type=message_type)

View File

@ -14,6 +14,7 @@ from UM.Logger import Logger
from UM.Message import Message from UM.Message import Message
from UM.Scene.SceneNode import SceneNode from UM.Scene.SceneNode import SceneNode
from cura.CuraApplication import CuraApplication from cura.CuraApplication import CuraApplication
from .BackwardsCompatibleMessage import getBackwardsCompatibleMessage
from .DFLibraryFileUploadRequest import DFLibraryFileUploadRequest from .DFLibraryFileUploadRequest import DFLibraryFileUploadRequest
from .DFLibraryFileUploadResponse import DFLibraryFileUploadResponse from .DFLibraryFileUploadResponse import DFLibraryFileUploadResponse
from .DFPrintJobUploadRequest import DFPrintJobUploadRequest from .DFPrintJobUploadRequest import DFPrintJobUploadRequest
@ -69,11 +70,11 @@ class DFFileExportAndUploadManager:
use_inactivity_timer = False use_inactivity_timer = False
) )
self._generic_success_message = Message( self._generic_success_message = getBackwardsCompatibleMessage(
text = "Your {} uploaded to '{}'.".format("file was" if len(self._file_upload_job_metadata) <= 1 else "files were", self._library_project_name), text = "Your {} uploaded to '{}'.".format("file was" if len(self._file_upload_job_metadata) <= 1 else "files were", self._library_project_name),
title = "Upload successful", title = "Upload successful",
lifetime = 0, lifetime = 30,
message_type = Message.MessageType.POSITIVE message_type_str = "POSITIVE"
) )
self._generic_success_message.addAction( self._generic_success_message.addAction(
"open_df_project", "open_df_project",
@ -217,11 +218,11 @@ class DFFileExportAndUploadManager:
# Set the progress to 100% when the upload job fails, to avoid having the progress message stuck # Set the progress to 100% when the upload job fails, to avoid having the progress message stuck
self._file_upload_job_metadata[filename]["upload_status"] = "failed" self._file_upload_job_metadata[filename]["upload_status"] = "failed"
self._file_upload_job_metadata[filename]["upload_progress"] = 100 self._file_upload_job_metadata[filename]["upload_progress"] = 100
self._file_upload_job_metadata[filename]["file_upload_failed_message"] = Message( self._file_upload_job_metadata[filename]["file_upload_failed_message"] = getBackwardsCompatibleMessage(
text = "Failed to export the file '{}'. The upload process is aborted.".format(filename), text = "Failed to export the file '{}'. The upload process is aborted.".format(filename),
title = "Export error", title = "Export error",
lifetime = 0, message_type_str = "ERROR",
message_type = Message.MessageType.ERROR lifetime = 30
) )
self._on_upload_error() self._on_upload_error()
self._onFileUploadFinished(filename) self._onFileUploadFinished(filename)
@ -240,11 +241,11 @@ class DFFileExportAndUploadManager:
self._file_upload_job_metadata[filename_3mf]["upload_progress"] = 100 self._file_upload_job_metadata[filename_3mf]["upload_progress"] = 100
human_readable_error = self.extractErrorTitle(reply_string) human_readable_error = self.extractErrorTitle(reply_string)
self._file_upload_job_metadata[filename_3mf]["file_upload_failed_message"] = Message( self._file_upload_job_metadata[filename_3mf]["file_upload_failed_message"] = getBackwardsCompatibleMessage(
text = "Failed to upload the file '{}' to '{}'. {}".format(filename_3mf, self._library_project_name, human_readable_error), text = "Failed to upload the file '{}' to '{}'. {}".format(filename_3mf, self._library_project_name, human_readable_error),
title = "File upload error", title = "File upload error",
lifetime = 0, message_type_str = "ERROR",
message_type = Message.MessageType.ERROR lifetime = 30
) )
self._on_upload_error() self._on_upload_error()
self._onFileUploadFinished(filename_3mf) self._onFileUploadFinished(filename_3mf)
@ -263,11 +264,11 @@ class DFFileExportAndUploadManager:
self._file_upload_job_metadata[filename_ufp]["upload_progress"] = 100 self._file_upload_job_metadata[filename_ufp]["upload_progress"] = 100
human_readable_error = self.extractErrorTitle(reply_string) human_readable_error = self.extractErrorTitle(reply_string)
self._file_upload_job_metadata[filename_ufp]["file_upload_failed_message"] = Message( self._file_upload_job_metadata[filename_ufp]["file_upload_failed_message"] = getBackwardsCompatibleMessage(
title = "File upload error", title = "File upload error",
text = "Failed to upload the file '{}' to '{}'. {}".format(filename_ufp, self._library_project_name, human_readable_error), text = "Failed to upload the file '{}' to '{}'. {}".format(filename_ufp, self._library_project_name, human_readable_error),
lifetime = 0, message_type_str = "ERROR",
message_type = Message.MessageType.ERROR lifetime = 30
) )
self._on_upload_error() self._on_upload_error()
self._onFileUploadFinished(filename_ufp) self._onFileUploadFinished(filename_ufp)
@ -300,11 +301,11 @@ class DFFileExportAndUploadManager:
self._file_upload_job_metadata[filename]["upload_status"] = "failed" self._file_upload_job_metadata[filename]["upload_status"] = "failed"
self._file_upload_job_metadata[filename]["upload_progress"] = 100 self._file_upload_job_metadata[filename]["upload_progress"] = 100
human_readable_error = self.extractErrorTitle(reply_string) human_readable_error = self.extractErrorTitle(reply_string)
self._file_upload_job_metadata[filename]["file_upload_failed_message"] = Message( self._file_upload_job_metadata[filename]["file_upload_failed_message"] = getBackwardsCompatibleMessage(
title = "File upload error", title = "File upload error",
text = "Failed to upload the file '{}' to '{}'. {}".format(self._file_name, self._library_project_name, human_readable_error), text = "Failed to upload the file '{}' to '{}'. {}".format(self._file_name, self._library_project_name, human_readable_error),
lifetime = 0, message_type_str = "ERROR",
message_type = Message.MessageType.ERROR lifetime = 30
) )
self._on_upload_error() self._on_upload_error()
@ -319,7 +320,7 @@ class DFFileExportAndUploadManager:
def _onMessageActionTriggered(self, message, action): def _onMessageActionTriggered(self, message, action):
if action == "open_df_project": if action == "open_df_project":
project_url = "{}/app/library/project/{}?wait_for_new_files=true".format(CuraApplication.getInstance().ultimakerDigitalFactoryUrl, self._library_project_id) project_url = "{}/app/library/project/{}?wait_for_new_files=true&utm_source=cura&utm_medium=software&utm_campaign=saved-library-file-message".format(CuraApplication.getInstance().ultimakerDigitalFactoryUrl, self._library_project_id)
QDesktopServices.openUrl(QUrl(project_url)) QDesktopServices.openUrl(QUrl(project_url))
message.hide() message.hide()
@ -337,17 +338,17 @@ class DFFileExportAndUploadManager:
"upload_progress" : -1, "upload_progress" : -1,
"upload_status" : "", "upload_status" : "",
"file_upload_response": None, "file_upload_response": None,
"file_upload_success_message": Message( "file_upload_success_message": getBackwardsCompatibleMessage(
text = "'{}' was uploaded to '{}'.".format(filename_3mf, self._library_project_name), text = "'{}' was uploaded to '{}'.".format(filename_3mf, self._library_project_name),
title = "Upload successful", title = "Upload successful",
lifetime = 0, message_type_str = "POSITIVE",
message_type = Message.MessageType.POSITIVE lifetime = 30
), ),
"file_upload_failed_message": Message( "file_upload_failed_message": getBackwardsCompatibleMessage(
text = "Failed to upload the file '{}' to '{}'.".format(filename_3mf, self._library_project_name), text = "Failed to upload the file '{}' to '{}'.".format(filename_3mf, self._library_project_name),
title = "File upload error", title = "File upload error",
lifetime = 0, message_type_str = "ERROR",
message_type = Message.MessageType.ERROR lifetime = 30
) )
} }
job_3mf = ExportFileJob(self._file_handlers["3mf"], self._nodes, self._file_name, "3mf") job_3mf = ExportFileJob(self._file_handlers["3mf"], self._nodes, self._file_name, "3mf")
@ -361,17 +362,17 @@ class DFFileExportAndUploadManager:
"upload_progress" : -1, "upload_progress" : -1,
"upload_status" : "", "upload_status" : "",
"file_upload_response": None, "file_upload_response": None,
"file_upload_success_message": Message( "file_upload_success_message": getBackwardsCompatibleMessage(
text = "'{}' was uploaded to '{}'.".format(filename_ufp, self._library_project_name), text = "'{}' was uploaded to '{}'.".format(filename_ufp, self._library_project_name),
title = "Upload successful", title = "Upload successful",
lifetime = 0, message_type_str = "POSITIVE",
message_type = Message.MessageType.POSITIVE lifetime = 30,
), ),
"file_upload_failed_message": Message( "file_upload_failed_message": getBackwardsCompatibleMessage(
text = "Failed to upload the file '{}' to '{}'.".format(filename_ufp, self._library_project_name), text = "Failed to upload the file '{}' to '{}'.".format(filename_ufp, self._library_project_name),
title = "File upload error", title = "File upload error",
lifetime = 0, message_type_str = "ERROR",
message_type = Message.MessageType.ERROR lifetime = 30
) )
} }
job_ufp = ExportFileJob(self._file_handlers["ufp"], self._nodes, self._file_name, "ufp") job_ufp = ExportFileJob(self._file_handlers["ufp"], self._nodes, self._file_name, "ufp")

View File

@ -23,6 +23,7 @@ from UM.TaskManagement.HttpRequestManager import HttpRequestManager
from cura.API import Account from cura.API import Account
from cura.CuraApplication import CuraApplication from cura.CuraApplication import CuraApplication
from cura.UltimakerCloud.UltimakerCloudScope import UltimakerCloudScope from cura.UltimakerCloud.UltimakerCloudScope import UltimakerCloudScope
from .BackwardsCompatibleMessage import getBackwardsCompatibleMessage
from .DFFileExportAndUploadManager import DFFileExportAndUploadManager from .DFFileExportAndUploadManager import DFFileExportAndUploadManager
from .DigitalFactoryApiClient import DigitalFactoryApiClient from .DigitalFactoryApiClient import DigitalFactoryApiClient
from .DigitalFactoryFileModel import DigitalFactoryFileModel from .DigitalFactoryFileModel import DigitalFactoryFileModel
@ -527,11 +528,11 @@ class DigitalFactoryController(QObject):
except IOError as ex: except IOError as ex:
Logger.logException("e", "Can't write Digital Library file {0}/{1} download to temp-directory {2}.", Logger.logException("e", "Can't write Digital Library file {0}/{1} download to temp-directory {2}.",
ex, project_name, file_name, temp_dir) ex, project_name, file_name, temp_dir)
Message( getBackwardsCompatibleMessage(
text = "Failed to write to temporary file for '{}'.".format(file_name), text = "Failed to write to temporary file for '{}'.".format(file_name),
title = "File-system error", title = "File-system error",
lifetime = 10, message_type_str="ERROR",
message_type=Message.MessageType.ERROR lifetime = 10
).show() ).show()
return return
@ -542,11 +543,11 @@ class DigitalFactoryController(QObject):
f = file_name) -> None: f = file_name) -> None:
progress_message.hide() progress_message.hide()
Logger.error("An error {0} {1} occurred while downloading {2}/{3}".format(str(error), str(reply), p, f)) Logger.error("An error {0} {1} occurred while downloading {2}/{3}".format(str(error), str(reply), p, f))
Message( getBackwardsCompatibleMessage(
text = "Failed Digital Library download for '{}'.".format(f), text = "Failed Digital Library download for '{}'.".format(f),
title = "Network error {}".format(error), title = "Network error {}".format(error),
lifetime = 10, message_type_str="ERROR",
message_type=Message.MessageType.ERROR lifetime = 10
).show() ).show()
download_manager = HttpRequestManager.getInstance() download_manager = HttpRequestManager.getInstance()
@ -591,17 +592,19 @@ class DigitalFactoryController(QObject):
if filename == "": if filename == "":
Logger.log("w", "The file name cannot be empty.") Logger.log("w", "The file name cannot be empty.")
Message(text = "Cannot upload file with an empty name to the Digital Library", getBackwardsCompatibleMessage(
text = "Cannot upload file with an empty name to the Digital Library",
title = "Empty file name provided", title = "Empty file name provided",
lifetime = 0, message_type_str = "ERROR",
message_type = Message.MessageType.ERROR).show() lifetime = 0
).show()
return return
self._saveFileToSelectedProjectHelper(filename, formats) self._saveFileToSelectedProjectHelper(filename, formats)
def _saveFileToSelectedProjectHelper(self, filename: str, formats: List[str]) -> None: def _saveFileToSelectedProjectHelper(self, filename: str, formats: List[str]) -> None:
# Indicate we have started sending a job. # Indicate we have started sending a job (and propagate any user file name changes back to the open project)
self.uploadStarted.emit() self.uploadStarted.emit(filename if "3mf" in formats else None)
library_project_id = self._project_model.items[self._selected_project_idx]["libraryProjectId"] library_project_id = self._project_model.items[self._selected_project_idx]["libraryProjectId"]
library_project_name = self._project_model.items[self._selected_project_idx]["displayName"] library_project_name = self._project_model.items[self._selected_project_idx]["displayName"]

View File

@ -105,8 +105,10 @@ class DigitalFactoryOutputDevice(ProjectOutputDevice):
self.enabled = logged_in and self._controller.userAccountHasLibraryAccess() self.enabled = logged_in and self._controller.userAccountHasLibraryAccess()
self.enabledChanged.emit() self.enabledChanged.emit()
def _onWriteStarted(self) -> None: def _onWriteStarted(self, new_name: Optional[str] = None) -> None:
self._writing = True self._writing = True
if new_name:
self.setLastOutputName(new_name) # On saving, the user can change the name, this should propagate.
self.writeStarted.emit(self) self.writeStarted.emit(self)
def _onWriteFinished(self) -> None: def _onWriteFinished(self) -> None:

View File

@ -112,7 +112,7 @@ class FirmwareUpdateCheckerJob(Job):
# The first time we want to store the current version, the notification will not be shown, # The first time we want to store the current version, the notification will not be shown,
# because the new version of Cura will be release before the firmware and we don't want to # because the new version of Cura will be release before the firmware and we don't want to
# notify the user when no new firmware version is available. # notify the user when no new firmware version is available.
if (checked_version != "") and (checked_version != current_version): if checked_version != "" and checked_version != current_version:
Logger.log("i", "Showing firmware update message for new version: {version}".format(version = current_version)) Logger.log("i", "Showing firmware update message for new version: {version}".format(version = current_version))
message = FirmwareUpdateCheckerMessage(machine_id, self._machine_name, current_version, message = FirmwareUpdateCheckerMessage(machine_id, self._machine_name, current_version,
self._lookups.getRedirectUserUrl()) self._lookups.getRedirectUserUrl())

View File

@ -14,12 +14,12 @@ class FirmwareUpdateCheckerMessage(Message):
def __init__(self, machine_id: int, machine_name: str, latest_version: str, download_url: str) -> None: def __init__(self, machine_id: int, machine_name: str, latest_version: str, download_url: str) -> None:
super().__init__(i18n_catalog.i18nc( super().__init__(i18n_catalog.i18nc(
"@info Don't translate {machine_name}, since it gets replaced by a printer name!", "@info Don't translate {machine_name}, since it gets replaced by a printer name!",
"New features or bug-fixes may be available for your {machine_name}! If not already at the latest version, " "New features or bug-fixes may be available for your {machine_name}! If you haven't done so already, "
"it is recommended to update the firmware on your printer to version {latest_version}.").format( "it is recommended to update the firmware on your printer to version {latest_version}.").format(
machine_name = machine_name, latest_version = latest_version), machine_name = machine_name, latest_version = latest_version),
title = i18n_catalog.i18nc( title = i18n_catalog.i18nc(
"@info:title The %s gets replaced with the printer name.", "@info:title The %s gets replaced with the printer name.",
"New %s firmware available") % machine_name) "New %s stable firmware available") % machine_name)
self._machine_id = machine_id self._machine_id = machine_id
self._download_url = download_url self._download_url = download_url

View File

@ -1,4 +1,4 @@
# Copyright (c) 2020 Ultimaker B.V. # Copyright (c) 2021 Ultimaker B.V.
# Cura is released under the terms of the LGPLv3 or higher. # Cura is released under the terms of the LGPLv3 or higher.
import math import math
@ -153,7 +153,7 @@ class FlavorParser:
Af = (self._filament_diameter / 2) ** 2 * numpy.pi Af = (self._filament_diameter / 2) ** 2 * numpy.pi
# Length of the extruded filament # Length of the extruded filament
de = current_extrusion - previous_extrusion de = current_extrusion - previous_extrusion
# Volumne of the extruded filament # Volume of the extruded filament
dVe = de * Af dVe = de * Af
# Length of the printed line # Length of the printed line
dX = numpy.sqrt((current_point[0] - previous_point[0])**2 + (current_point[2] - previous_point[2])**2) dX = numpy.sqrt((current_point[0] - previous_point[0])**2 + (current_point[2] - previous_point[2])**2)

View File

@ -159,7 +159,7 @@ Rectangle
{ {
anchors.fill: parent anchors.fill: parent
hoverEnabled: true hoverEnabled: true
onClicked: Qt.openUrlExternally("https://ultimaker.com/en/resources/manuals/ultimaker-3d-printers") onClicked: Qt.openUrlExternally("https://ultimaker.com/in/cura/troubleshooting/network?utm_source=cura&utm_medium=software&utm_campaign=monitor-not-connected")
onEntered: manageQueueText.font.underline = true onEntered: manageQueueText.font.underline = true
onExited: manageQueueText.font.underline = false onExited: manageQueueText.font.underline = false
} }

View File

@ -54,7 +54,7 @@ class PauseAtHeight(Script):
"label": "Method", "label": "Method",
"description": "The method or gcode command to use for pausing.", "description": "The method or gcode command to use for pausing.",
"type": "enum", "type": "enum",
"options": {"marlin": "Marlin (M0)", "griffin": "Griffin (M0, firmware retract)", "bq": "BQ (M25)", "reprap": "RepRap (M226)", "repetier": "Repetier (@pause)"}, "options": {"marlin": "Marlin (M0)", "griffin": "Griffin (M0, firmware retract)", "bq": "BQ (M25)", "reprap": "RepRap (M226)", "repetier": "Repetier/OctoPrint (@pause)"},
"default_value": "marlin", "default_value": "marlin",
"value": "\\\"griffin\\\" if machine_gcode_flavor==\\\"Griffin\\\" else \\\"reprap\\\" if machine_gcode_flavor==\\\"RepRap (RepRap)\\\" else \\\"repetier\\\" if machine_gcode_flavor==\\\"Repetier\\\" else \\\"bq\\\" if \\\"BQ\\\" in machine_name or \\\"Flying Bear Ghost 4S\\\" in machine_name else \\\"marlin\\\"" "value": "\\\"griffin\\\" if machine_gcode_flavor==\\\"Griffin\\\" else \\\"reprap\\\" if machine_gcode_flavor==\\\"RepRap (RepRap)\\\" else \\\"repetier\\\" if machine_gcode_flavor==\\\"Repetier\\\" else \\\"bq\\\" if \\\"BQ\\\" in machine_name or \\\"Flying Bear Ghost 4S\\\" in machine_name else \\\"marlin\\\""
}, },
@ -69,6 +69,14 @@ class PauseAtHeight(Script):
"maximum_value_warning": "1800", "maximum_value_warning": "1800",
"unit": "s" "unit": "s"
}, },
"head_park_enabled":
{
"label": "Park Print",
"description": "Instruct the head to move to a safe location when pausing. Leave this unchecked if your printer handles parking for you.",
"type": "bool",
"default_value": true,
"enabled": "pause_method != \\\"griffin\\\""
},
"head_park_x": "head_park_x":
{ {
"label": "Park Print Head X", "label": "Park Print Head X",
@ -76,7 +84,7 @@ class PauseAtHeight(Script):
"unit": "mm", "unit": "mm",
"type": "float", "type": "float",
"default_value": 190, "default_value": 190,
"enabled": "pause_method != \\\"griffin\\\"" "enabled": "head_park_enabled and pause_method != \\\"griffin\\\""
}, },
"head_park_y": "head_park_y":
{ {
@ -85,7 +93,7 @@ class PauseAtHeight(Script):
"unit": "mm", "unit": "mm",
"type": "float", "type": "float",
"default_value": 190, "default_value": 190,
"enabled": "pause_method != \\\"griffin\\\"" "enabled": "head_park_enabled and pause_method != \\\"griffin\\\""
}, },
"head_move_z": "head_move_z":
{ {
@ -94,7 +102,7 @@ class PauseAtHeight(Script):
"unit": "mm", "unit": "mm",
"type": "float", "type": "float",
"default_value": 15.0, "default_value": 15.0,
"enabled": "pause_method == \\\"repetier\\\"" "enabled": "head_park_enabled and pause_method == \\\"repetier\\\""
}, },
"retraction_amount": "retraction_amount":
{ {
@ -239,6 +247,7 @@ class PauseAtHeight(Script):
retraction_speed = self.getSettingValueByKey("retraction_speed") retraction_speed = self.getSettingValueByKey("retraction_speed")
extrude_amount = self.getSettingValueByKey("extrude_amount") extrude_amount = self.getSettingValueByKey("extrude_amount")
extrude_speed = self.getSettingValueByKey("extrude_speed") extrude_speed = self.getSettingValueByKey("extrude_speed")
park_enabled = self.getSettingValueByKey("head_park_enabled")
park_x = self.getSettingValueByKey("head_park_x") park_x = self.getSettingValueByKey("head_park_x")
park_y = self.getSettingValueByKey("head_park_y") park_y = self.getSettingValueByKey("head_park_y")
move_z = self.getSettingValueByKey("head_move_z") move_z = self.getSettingValueByKey("head_move_z")
@ -389,6 +398,7 @@ class PauseAtHeight(Script):
if retraction_amount != 0: if retraction_amount != 0:
prepend_gcode += self.putValue(G = 1, E = -retraction_amount, F = 6000) + "\n" prepend_gcode += self.putValue(G = 1, E = -retraction_amount, F = 6000) + "\n"
if park_enabled:
#Move the head away #Move the head away
prepend_gcode += self.putValue(G = 1, Z = current_z + 1, F = 300) + " ; move up a millimeter to get out of the way\n" prepend_gcode += self.putValue(G = 1, Z = current_z + 1, F = 300) + " ; move up a millimeter to get out of the way\n"
prepend_gcode += self.putValue(G = 1, X = park_x, Y = park_y, F = 9000) + "\n" prepend_gcode += self.putValue(G = 1, X = park_x, Y = park_y, F = 9000) + "\n"
@ -409,6 +419,7 @@ class PauseAtHeight(Script):
else: else:
prepend_gcode += self.putValue(G = 1, E = -retraction_amount, F = retraction_speed * 60) + "\n" prepend_gcode += self.putValue(G = 1, E = -retraction_amount, F = retraction_speed * 60) + "\n"
if park_enabled:
# Move the head away # Move the head away
prepend_gcode += self.putValue(G = 1, Z = current_z + 1, F = 300) + " ; move up a millimeter to get out of the way\n" prepend_gcode += self.putValue(G = 1, Z = current_z + 1, F = 300) + " ; move up a millimeter to get out of the way\n"
@ -456,8 +467,10 @@ class PauseAtHeight(Script):
prepend_gcode += self.putValue(G = 1, E = -retraction_amount, F = 6000) + "\n" prepend_gcode += self.putValue(G = 1, E = -retraction_amount, F = 6000) + "\n"
#Move the head back #Move the head back
prepend_gcode += self.putValue(G = 1, Z = current_z, F = 300) + "\n" if park_enabled:
prepend_gcode += self.putValue(G = 1, X = x, Y = y, F = 9000) + "\n" prepend_gcode += self.putValue(G = 1, X = x, Y = y, F = 9000) + "\n"
prepend_gcode += self.putValue(G = 1, Z = current_z, F = 300) + "\n"
if retraction_amount != 0: if retraction_amount != 0:
prepend_gcode += self.putValue(G = 1, E = retraction_amount, F = 6000) + "\n" prepend_gcode += self.putValue(G = 1, E = retraction_amount, F = 6000) + "\n"
@ -490,10 +503,12 @@ class PauseAtHeight(Script):
prepend_gcode += self.putValue(G = 1, E = -retraction_amount, F = retraction_speed * 60) + "\n" prepend_gcode += self.putValue(G = 1, E = -retraction_amount, F = retraction_speed * 60) + "\n"
# Move the head back # Move the head back
if park_enabled:
if current_z < 15: if current_z < 15:
prepend_gcode += self.putValue(G = 1, Z = current_z + 1, F = 300) + "\n" prepend_gcode += self.putValue(G = 1, Z = current_z, F = 300) + "\n"
prepend_gcode += self.putValue(G = 1, X = x, Y = y, F = 9000) + "\n" prepend_gcode += self.putValue(G = 1, X = x, Y = y, F = 9000) + "\n"
prepend_gcode += self.putValue(G = 1, Z = current_z, F = 300) + " ; move back down to resume height\n" prepend_gcode += self.putValue(G = 1, Z = current_z, F = 300) + " ; move back down to resume height\n"
if retraction_amount != 0: if retraction_amount != 0:
if firmware_retract: #Can't set the distance directly to what the user wants. We have to choose ourselves. if firmware_retract: #Can't set the distance directly to what the user wants. We have to choose ourselves.
retraction_count = 1 if control_temperatures else 3 #Retract more if we don't control the temperature. retraction_count = 1 if control_temperatures else 3 #Retract more if we don't control the temperature.

View File

@ -8,7 +8,7 @@ import UM 1.1 as UM
Rectangle Rectangle
{ {
color: UM.Theme.getColor("secondary") color: UM.Theme.getColor("toolbox_premium_packages_background")
height: childrenRect.height height: childrenRect.height
width: parent.width width: parent.width
Column Column
@ -39,7 +39,7 @@ Rectangle
text: catalog.i18nc("@info:tooltip", "Go to Web Marketplace") text: catalog.i18nc("@info:tooltip", "Go to Web Marketplace")
Label Label
{ {
text: "<a href='%2'>".arg(toolbox.getWebMarketplaceUrl("materials")) + catalog.i18nc("@label", "Search materials") + "</a>" text: "<a href='%2'>".arg(toolbox.getWebMarketplaceUrl("materials") + "?utm_source=cura&utm_medium=software&utm_campaign=marketplace-search") + catalog.i18nc("@label", "Search materials") + "</a>"
width: contentWidth width: contentWidth
height: contentHeight height: contentHeight
horizontalAlignment: Text.AlignRight horizontalAlignment: Text.AlignRight

View File

@ -91,7 +91,7 @@ Item
verticalCenter: parent.verticalCenter verticalCenter: parent.verticalCenter
} }
acceptedButtons: Qt.LeftButton acceptedButtons: Qt.LeftButton
onClicked: Qt.openUrlExternally(toolbox.getWebMarketplaceUrl("plugins")) onClicked: Qt.openUrlExternally(toolbox.getWebMarketplaceUrl("plugins") + "?utm_source=cura&utm_medium=software&utm_campaign=marketplace-button")
UM.RecolorImage UM.RecolorImage
{ {
id: cloudMarketplaceButton id: cloudMarketplaceButton

View File

@ -71,6 +71,7 @@ ScrollView
padding: UM.Theme.getSize("default_margin").width padding: UM.Theme.getSize("default_margin").width
text: catalog.i18nc("@info", "No plugin has been installed.") text: catalog.i18nc("@info", "No plugin has been installed.")
font: UM.Theme.getFont("medium") font: UM.Theme.getFont("medium")
color: UM.Theme.getColor("lining")
renderType: Text.NativeRendering renderType: Text.NativeRendering
} }
} }
@ -123,6 +124,7 @@ ScrollView
visible: toolbox.materialsInstalledModel.count < 1 visible: toolbox.materialsInstalledModel.count < 1
padding: UM.Theme.getSize("default_margin").width padding: UM.Theme.getSize("default_margin").width
text: catalog.i18nc("@info", "No material has been installed.") text: catalog.i18nc("@info", "No material has been installed.")
color: UM.Theme.getColor("lining")
font: UM.Theme.getFont("medium") font: UM.Theme.getFont("medium")
renderType: Text.NativeRendering renderType: Text.NativeRendering
} }

View File

@ -58,7 +58,6 @@ class PackagesModel(ListModel):
items = [] items = []
if self._metadata is None: if self._metadata is None:
Logger.logException("w", "Failed to load packages for Marketplace")
self.setItems(items) self.setItems(items)
return return

View File

@ -183,12 +183,15 @@ class Toolbox(QObject, Extension):
self._application.getCuraAPI().account.loginStateChanged.connect(self._restart) self._application.getCuraAPI().account.loginStateChanged.connect(self._restart)
preferences = CuraApplication.getInstance().getPreferences()
preferences.addPreference("info/automatic_plugin_update_check", True)
# On boot we check which packages have updates. # On boot we check which packages have updates.
if CuraApplication.getInstance().getPreferences().getValue("info/automatic_update_check") and len(installed_package_ids_with_versions) > 0: if preferences.getValue("info/automatic_plugin_update_check") and len(installed_package_ids_with_versions) > 0:
# Request the latest and greatest! # Request the latest and greatest!
self._makeRequestByType("updates") self._makeRequestByType("updates")
def _fetchPackageData(self) -> None: def _fetchPackageData(self) -> None:
self._makeRequestByType("packages") self._makeRequestByType("packages")
self._makeRequestByType("authors") self._makeRequestByType("authors")
@ -648,8 +651,11 @@ class Toolbox(QObject, Extension):
self.resetDownload() self.resetDownload()
if reply.attribute(QNetworkRequest.HttpStatusCodeAttribute) != 200: if reply.attribute(QNetworkRequest.HttpStatusCodeAttribute) != 200:
Logger.log("w", "Failed to download package. The following error was returned: %s", try:
json.loads(reply.readAll().data().decode("utf-8"))) reply_error = json.loads(reply.readAll().data().decode("utf-8"))
except Exception as e:
reply_error = str(e)
Logger.log("w", "Failed to download package. The following error was returned: %s", reply_error)
return return
# Must not delete the temporary file on Windows # Must not delete the temporary file on Windows
self._temp_plugin_file = tempfile.NamedTemporaryFile(mode = "w+b", suffix = ".curapackage", delete = False) self._temp_plugin_file = tempfile.NamedTemporaryFile(mode = "w+b", suffix = ".curapackage", delete = False)

View File

@ -3,6 +3,6 @@
"author": "Ultimaker B.V.", "author": "Ultimaker B.V.",
"version": "1.0.0", "version": "1.0.0",
"description": "Provides support for reading Ultimaker Format Packages.", "description": "Provides support for reading Ultimaker Format Packages.",
"supported_sdk_versions": ["7.6.0"], "supported_sdk_versions": ["7.7.0"],
"i18n-catalog": "cura" "i18n-catalog": "cura"
} }

View File

@ -30,7 +30,7 @@ Button
horizontalCenter: parent.horizontalCenter horizontalCenter: parent.horizontalCenter
verticalCenter: parent.verticalCenter verticalCenter: parent.verticalCenter
} }
color: UM.Theme.getColor("primary") color: enabled ? UM.Theme.getColor("primary") : UM.Theme.getColor("main_background")
height: width height: width
source: iconSource source: iconSource
width: Math.round(parent.width / 2) width: Math.round(parent.width / 2)

View File

@ -173,7 +173,7 @@ Cura.MachineAction
anchors.right: parent.right anchors.right: parent.right
wrapMode: Text.WordWrap wrapMode: Text.WordWrap
renderType: Text.NativeRendering renderType: Text.NativeRendering
text: catalog.i18nc("@label", "If your printer is not listed, read the <a href='%1'>network printing troubleshooting guide</a>").arg("https://support.ultimaker.com/hc/en-us/articles/360012795419"); text: catalog.i18nc("@label", "If your printer is not listed, read the <a href='%1'>network printing troubleshooting guide</a>").arg("https://ultimaker.com/en/cura/troubleshooting/network?utm_source=cura&utm_medium=software&utm_campaign=manage-network-printer");
onLinkActivated: Qt.openUrlExternally(link) onLinkActivated: Qt.openUrlExternally(link)
} }

View File

@ -51,7 +51,7 @@ Item
anchors.centerIn: parent anchors.centerIn: parent
color: UM.Theme.getColor("monitor_icon_primary") color: UM.Theme.getColor("monitor_icon_primary")
height: UM.Theme.getSize("medium_button_icon").width height: UM.Theme.getSize("medium_button_icon").width
source: "../svg/icons/Buildplate.svg" source: UM.Theme.getIcon("Buildplate")
width: height width: height
visible: buildplate visible: buildplate
} }

View File

@ -40,7 +40,6 @@ Item
width: 240 * screenScaleFactor // TODO: Theme! width: 240 * screenScaleFactor // TODO: Theme!
color: UM.Theme.getColor("monitor_tooltip_text") color: UM.Theme.getColor("monitor_tooltip_text")
font: UM.Theme.getFont("default") font: UM.Theme.getFont("default")
renderType: Text.NativeRendering
} }
} }
} }

View File

@ -172,7 +172,7 @@ Item
MouseArea MouseArea
{ {
anchors.fill: managePrinterLink anchors.fill: managePrinterLink
onClicked: OutputDevice.openPrintJobControlPanel() onClicked: OutputDevice.openPrinterControlPanel()
onEntered: onEntered:
{ {
manageQueueText.font.underline = true manageQueueText.font.underline = true
@ -271,8 +271,8 @@ Item
} }
// For cloud printing, add this mouse area over the disabled cameraButton to indicate that it's not available // For cloud printing, add this mouse area over the disabled cameraButton to indicate that it's not available
//Warning message is commented out because it's factually incorrect. Fix CURA-7637 to allow camera connections via cloud. // Fix CURA-7637 to allow camera connections via cloud.
/* MouseArea MouseArea
{ {
id: cameraDisabledButtonArea id: cameraDisabledButtonArea
anchors.fill: cameraButton anchors.fill: cameraButton
@ -282,13 +282,13 @@ Item
enabled: !cameraButton.enabled enabled: !cameraButton.enabled
} }
MonitorInfoBlurb MonitorInfoBlurb
{ {
id: cameraDisabledInfo id: cameraDisabledInfo
text: catalog.i18nc("@info", "The webcam is not available because you are monitoring a cloud printer.") text: catalog.i18nc("@info", "Webcam feeds for cloud printers cannot be viewed from Ultimaker Cura." +
" Click \"Manage printer\" to visit Ultimaker Digital Factory and view this webcam.")
target: cameraButton target: cameraButton
}*/ }
} }
// Divider // Divider

View File

@ -2,7 +2,9 @@
// Cura is released under the terms of the LGPLv3 or higher. // Cura is released under the terms of the LGPLv3 or higher.
import QtQuick 2.2 import QtQuick 2.2
import QtQuick.Window 2.2 import QtQuick.Window 2.2
import QtQuick.Controls 1.2 import QtQuick.Controls 1.1
import QtQuick.Controls 2.15 as NewControls
import UM 1.1 as UM import UM 1.1 as UM
UM.Dialog { UM.Dialog {
@ -82,8 +84,9 @@ UM.Dialog {
renderType: Text.NativeRendering; renderType: Text.NativeRendering;
} }
ComboBox { NewControls.ComboBox {
id: printerComboBox; id: printerComboBox;
currentIndex: 0;
Behavior on height { NumberAnimation { duration: 100 } } Behavior on height { NumberAnimation { duration: 100 } }
height: 40 * screenScaleFactor; height: 40 * screenScaleFactor;
model: ListModel { model: ListModel {

View File

@ -1,27 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg width="291px" height="209px" viewBox="0 0 291 209" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<!-- Generator: Sketch 52.5 (67469) - http://www.bohemiancoding.com/sketch -->
<title>Group 2</title>
<desc>Created with Sketch.</desc>
<g id="Page-1" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
<g id="CC--Cloud-connection-succes" transform="translate(-570.000000, -132.000000)">
<g id="Group-2" transform="translate(570.000000, 132.000000)">
<g id="Icon/-group-printer/-connected" fill="#08073F" fill-rule="nonzero">
<g id="printer-group">
<g id="Group-Copy" transform="translate(0.000000, 0.218255)">
<g id="UM3">
<path d="M151.645765,136.481718 C149.925833,142.069331 149,148.004918 149,154.156745 C149,157.125641 149.215633,160.044173 149.632091,162.897534 L94.5646946,162.897534 C92.6599327,163.073639 90.7551708,163.778061 89.3698894,165.010799 L88.3309283,166.067432 C87.2919673,167.828487 85.2140452,168.180697 83.1361231,168.180697 L73.7854738,168.180697 C73.2659933,168.180697 72.7465127,167.652381 72.7465127,167.124065 L72.7465127,152.918227 L19.3939394,152.918227 C17.7008177,153.074764 16.007696,153.700917 14.7763348,154.796684 L13.8528138,155.735914 C12.9292929,157.301296 11.0822511,157.614372 9.23520921,157.614372 L0.923520928,157.614372 C0.461760462,157.614372 1.42108547e-13,157.144757 1.42108547e-13,156.675142 L1.42108547e-13,9.0596475 C1.42108547e-13,8.59003299 0.461760462,8.12041848 0.923520928,8.12041848 L72.7465127,8.12041848 L72.7465127,1.05663265 C72.7465127,0.528316328 73.2659933,-2.84217094e-14 73.7854738,-2.84217094e-14 L216.815777,-2.84217094e-14 C217.335257,-2.84217094e-14 217.854738,0.528316328 217.854738,1.05663265 L217.854738,8.12041848 L289.677732,8.12041848 C290.139493,8.12041848 290.601253,8.59003299 290.601253,9.0596475 L290.601253,156.675142 C290.601253,157.144757 290.139493,157.614372 289.677732,157.614372 L281.366043,157.614372 C279.672922,157.457833 277.9798,156.831681 276.748439,155.735914 L275.824918,154.796684 C274.901397,153.231303 273.054355,152.918227 271.207313,152.918227 L268.987471,152.918227 C268.818229,144.560013 266.939851,136.621364 263.687558,129.437501 L268.590671,129.437501 C272.900435,129.437501 276.440598,125.837123 276.440598,121.454054 L276.594519,121.454054 L276.594519,24.5569264 C276.594519,22.8350065 275.209237,21.5827012 273.670035,21.5827012 L217.854738,21.5827012 L217.854738,94.8055789 C214.965144,94.3781586 212.008429,94.1567452 209,94.1567452 C206.665515,94.1567452 204.362169,94.2900687 202.097162,94.5495169 L202.097162,21.5827012 L202.097162,18.4910714 C202.097162,16.5539116 200.538721,15.145068 198.807119,15.145068 L161.616164,15.145068 L128.985089,15.145068 L91.6209717,15.145068 C89.7162098,15.145068 88.3309283,16.730017 88.3309283,18.4910714 L88.3309283,21.5827012 L88.3309283,127.50034 C88.3309283,128.164624 88.4032089,128.812928 88.5401496,129.437501 C89.4197136,133.449106 92.9667866,136.481718 97.1620971,136.481718 L128.985089,136.481718 L151.645765,136.481718 Z M72.7465127,129.437501 L72.7465127,21.5827012 L16.7772968,21.5827012 C15.0841751,21.5827012 13.8528138,22.9915447 13.8528138,24.5569264 L13.8528138,121.454054 C13.8528138,125.837123 17.3929774,129.437501 21.7027417,129.437501 L72.7465127,129.437501 Z" id="Combined-Shape"></path>
</g>
</g>
</g>
</g>
<g id="Group-cloud" transform="translate(156.000000, 103.000000)">
<g id="Group" transform="translate(0.394933, 0.724044)">
<circle id="Oval-Copy" fill="#3282FF" cx="52.6050671" cy="52.601776" r="52.1311475"></circle>
<path d="M74.8002981,45.4035747 C74.1684054,39.8133538 69.4292101,35.538479 63.7421759,35.538479 C62.1624441,35.538479 60.8986587,35.8673156 59.6348733,36.5249886 C56.7913562,31.9212773 51.7362146,28.9617486 46.3651267,28.9617486 C37.5186289,28.9617486 30.5678092,36.1961521 30.5678092,45.4035747 C30.5678092,45.4035747 30.5678092,45.4035747 30.5678092,45.7324112 C25.1967213,46.3900842 21.0894188,51.322632 21.0894188,56.9128529 C21.0894188,63.1607468 26.1445604,68.4221311 32.147541,68.4221311 C36.8867362,68.4221311 67.533532,68.4221311 73.2205663,68.4221311 C79.2235469,68.4221311 84.2786885,63.1607468 84.2786885,56.9128529 C84.2786885,50.9937956 80.171386,46.3900842 74.8002981,45.4035747 Z" id="Path" fill="#FFFFFF"></path>
</g>
</g>
</g>
</g>
</g>
</svg>

Before

Width:  |  Height:  |  Size: 4.6 KiB

View File

@ -262,7 +262,7 @@ class CloudOutputDevice(UltimakerNetworkedPrinterOutputDevice):
icon="", icon="",
description=I18N_CATALOG.i18nc("@action:tooltip", "Track the print in Ultimaker Digital Factory"), description=I18N_CATALOG.i18nc("@action:tooltip", "Track the print in Ultimaker Digital Factory"),
button_align=message.ActionButtonAlignment.ALIGN_RIGHT) button_align=message.ActionButtonAlignment.ALIGN_RIGHT)
df_url = f"https://digitalfactory.ultimaker.com/app/jobs/{self._cluster.cluster_id}?utm_source=cura&utm_medium=software&utm_campaign=monitor-button" df_url = f"https://digitalfactory.ultimaker.com/app/jobs/{self._cluster.cluster_id}?utm_source=cura&utm_medium=software&utm_campaign=message-printjob-sent"
message.pyQtActionTriggered.connect(lambda message, action: (QDesktopServices.openUrl(QUrl(df_url)), message.hide())) message.pyQtActionTriggered.connect(lambda message, action: (QDesktopServices.openUrl(QUrl(df_url)), message.hide()))
message.show() message.show()
@ -334,11 +334,11 @@ class CloudOutputDevice(UltimakerNetworkedPrinterOutputDevice):
@pyqtSlot(name="openPrintJobControlPanel") @pyqtSlot(name="openPrintJobControlPanel")
def openPrintJobControlPanel(self) -> None: def openPrintJobControlPanel(self) -> None:
QDesktopServices.openUrl(QUrl(self.clusterCloudUrl)) QDesktopServices.openUrl(QUrl(self.clusterCloudUrl + "?utm_source=cura&utm_medium=software&utm_campaign=monitor-manage-browser"))
@pyqtSlot(name="openPrinterControlPanel") @pyqtSlot(name="openPrinterControlPanel")
def openPrinterControlPanel(self) -> None: def openPrinterControlPanel(self) -> None:
QDesktopServices.openUrl(QUrl(self.clusterCloudUrl)) QDesktopServices.openUrl(QUrl(self.clusterCloudUrl + "?utm_source=cura&utm_medium=software&utm_campaign=monitor-manage-printer"))
@property @property
def clusterData(self) -> CloudClusterResponse: def clusterData(self) -> CloudClusterResponse:
@ -357,4 +357,4 @@ class CloudOutputDevice(UltimakerNetworkedPrinterOutputDevice):
"""Gets the URL on which to monitor the cluster via the cloud.""" """Gets the URL on which to monitor the cluster via the cloud."""
root_url_prefix = "-staging" if self._account.is_staging else "" root_url_prefix = "-staging" if self._account.is_staging else ""
return "https://mycloud{}.ultimaker.com/app/jobs/{}".format(root_url_prefix, self.clusterData.cluster_id) return "https://digitalfactory{}.ultimaker.com/app/jobs/{}".format(root_url_prefix, self.clusterData.cluster_id)

View File

@ -216,11 +216,6 @@ class CloudOutputDeviceManager:
online_cluster_names = {c.friendly_name.lower() for c in clusters if c.is_online and not c.friendly_name is None} online_cluster_names = {c.friendly_name.lower() for c in clusters if c.is_online and not c.friendly_name is None}
new_devices.sort(key = lambda x: ("a{}" if x.name.lower() in online_cluster_names else "b{}").format(x.name.lower())) new_devices.sort(key = lambda x: ("a{}" if x.name.lower() in online_cluster_names else "b{}").format(x.name.lower()))
image_path = os.path.join(
CuraApplication.getInstance().getPluginRegistry().getPluginPath("UM3NetworkPrinting") or "",
"resources", "svg", "cloud-flow-completed.svg"
)
message = Message( message = Message(
title = self.i18n_catalog.i18ncp( title = self.i18n_catalog.i18ncp(
"info:status", "info:status",
@ -230,7 +225,6 @@ class CloudOutputDeviceManager:
), ),
progress = 0, progress = 0,
lifetime = 0, lifetime = 0,
image_source = image_path,
message_type = Message.MessageType.POSITIVE message_type = Message.MessageType.POSITIVE
) )
message.show() message.show()
@ -332,7 +326,7 @@ class CloudOutputDeviceManager:
message_text += self.i18n_catalog.i18nc( message_text += self.i18n_catalog.i18nc(
"info:status", "info:status",
"To establish a connection, please visit the {website_link}".format(website_link = "<a href='https://digitalfactory.ultimaker.com/'>{}</a>.".format(digital_factory_string)) "To establish a connection, please visit the {website_link}".format(website_link = "<a href='https://digitalfactory.ultimaker.com?utm_source=cura&utm_medium=software&utm_campaign=change-account-connect-printer'>{}</a>.".format(digital_factory_string))
) )
self._removed_printers_message.setText(message_text) self._removed_printers_message.setText(message_text)
self._removed_printers_message.addAction("keep_printer_configurations_action", self._removed_printers_message.addAction("keep_printer_configurations_action",
@ -419,7 +413,7 @@ class CloudOutputDeviceManager:
machine.setMetaDataEntry("group_name", device.name) machine.setMetaDataEntry("group_name", device.name)
machine.setMetaDataEntry("group_size", device.clusterSize) machine.setMetaDataEntry("group_size", device.clusterSize)
digital_factory_string = self.i18n_catalog.i18nc("info:name", "Ultimaker Digital Factory") digital_factory_string = self.i18n_catalog.i18nc("info:name", "Ultimaker Digital Factory")
digital_factory_link = "<a href='https://digitalfactory.ultimaker.com/'>{digital_factory_string}</a>".format(digital_factory_string = digital_factory_string) digital_factory_link = "<a href='https://digitalfactory.ultimaker.com?utm_source=cura&utm_medium=software&utm_campaign=change-account-remove-printer'>{digital_factory_string}</a>".format(digital_factory_string = digital_factory_string)
removal_warning_string = self.i18n_catalog.i18nc("@message {printer_name} is replaced with the name of the printer", "{printer_name} will be removed until the next account sync.").format(printer_name = device.name) \ removal_warning_string = self.i18n_catalog.i18nc("@message {printer_name} is replaced with the name of the printer", "{printer_name} will be removed until the next account sync.").format(printer_name = device.name) \
+ "<br>" + self.i18n_catalog.i18nc("@message {printer_name} is replaced with the name of the printer", "To remove {printer_name} permanently, visit {digital_factory_link}").format(printer_name = device.name, digital_factory_link = digital_factory_link) \ + "<br>" + self.i18n_catalog.i18nc("@message {printer_name} is replaced with the name of the printer", "To remove {printer_name} permanently, visit {digital_factory_link}").format(printer_name = device.name, digital_factory_link = digital_factory_link) \
+ "<br><br>" + self.i18n_catalog.i18nc("@message {printer_name} is replaced with the name of the printer", "Are you sure you want to remove {printer_name} temporarily?").format(printer_name = device.name) + "<br><br>" + self.i18n_catalog.i18nc("@message {printer_name} is replaced with the name of the printer", "Are you sure you want to remove {printer_name} temporarily?").format(printer_name = device.name)

View File

@ -104,6 +104,25 @@ class VersionUpgrade49to410(VersionUpgrade):
"g" : "D060" "g" : "D060"
} }
def upgradePreferences(self, serialized: str, filename: str) -> Tuple[List[str], List[str]]:
"""
Upgrades preferences to have the new version number.
:param serialized: The original contents of the preferences file.
:param filename: The file name of the preferences file.
:return: A list of new file names, and a list of the new contents for
those files.
"""
parser = configparser.ConfigParser(interpolation = None)
parser.read_string(serialized)
# Update version number.
parser["metadata"]["setting_version"] = "17"
result = io.StringIO()
parser.write(result)
return [filename], [result.getvalue()]
def upgradeInstanceContainer(self, serialized: str, filename: str) -> Tuple[List[str], List[str]]: def upgradeInstanceContainer(self, serialized: str, filename: str) -> Tuple[List[str], List[str]]:
"""Upgrades instance containers to have the new version number. """Upgrades instance containers to have the new version number.

View File

@ -21,6 +21,7 @@ def getMetaData() -> Dict[str, Any]:
("quality_changes", 4000016): ("quality_changes", 4000017, upgrade.upgradeInstanceContainer), ("quality_changes", 4000016): ("quality_changes", 4000017, upgrade.upgradeInstanceContainer),
("quality", 4000016): ("quality", 4000017, upgrade.upgradeInstanceContainer), ("quality", 4000016): ("quality", 4000017, upgrade.upgradeInstanceContainer),
("user", 4000016): ("user", 4000017, upgrade.upgradeInstanceContainer), ("user", 4000016): ("user", 4000017, upgrade.upgradeInstanceContainer),
("preferences", 7000016): ("preferences", 7000017, upgrade.upgradePreferences),
}, },
"sources": { "sources": {
"machine_stack": { "machine_stack": {

View File

@ -6,7 +6,7 @@
"display_name": "3MF Reader", "display_name": "3MF Reader",
"description": "Provides support for reading 3MF files.", "description": "Provides support for reading 3MF files.",
"package_version": "1.0.1", "package_version": "1.0.1",
"sdk_version": "7.6.0", "sdk_version": "7.7.0",
"website": "https://ultimaker.com", "website": "https://ultimaker.com",
"author": { "author": {
"author_id": "UltimakerPackages", "author_id": "UltimakerPackages",
@ -23,7 +23,7 @@
"display_name": "3MF Writer", "display_name": "3MF Writer",
"description": "Provides support for writing 3MF files.", "description": "Provides support for writing 3MF files.",
"package_version": "1.0.1", "package_version": "1.0.1",
"sdk_version": "7.6.0", "sdk_version": "7.7.0",
"website": "https://ultimaker.com", "website": "https://ultimaker.com",
"author": { "author": {
"author_id": "UltimakerPackages", "author_id": "UltimakerPackages",
@ -40,7 +40,7 @@
"display_name": "AMF Reader", "display_name": "AMF Reader",
"description": "Provides support for reading AMF files.", "description": "Provides support for reading AMF files.",
"package_version": "1.0.0", "package_version": "1.0.0",
"sdk_version": "7.6.0", "sdk_version": "7.7.0",
"website": "https://ultimaker.com", "website": "https://ultimaker.com",
"author": { "author": {
"author_id": "fieldOfView", "author_id": "fieldOfView",
@ -57,7 +57,7 @@
"display_name": "Cura Backups", "display_name": "Cura Backups",
"description": "Backup and restore your configuration.", "description": "Backup and restore your configuration.",
"package_version": "1.2.0", "package_version": "1.2.0",
"sdk_version": "7.6.0", "sdk_version": "7.7.0",
"website": "https://ultimaker.com", "website": "https://ultimaker.com",
"author": { "author": {
"author_id": "UltimakerPackages", "author_id": "UltimakerPackages",
@ -74,7 +74,7 @@
"display_name": "CuraEngine Backend", "display_name": "CuraEngine Backend",
"description": "Provides the link to the CuraEngine slicing backend.", "description": "Provides the link to the CuraEngine slicing backend.",
"package_version": "1.0.1", "package_version": "1.0.1",
"sdk_version": "7.6.0", "sdk_version": "7.7.0",
"website": "https://ultimaker.com", "website": "https://ultimaker.com",
"author": { "author": {
"author_id": "UltimakerPackages", "author_id": "UltimakerPackages",
@ -91,7 +91,7 @@
"display_name": "Cura Profile Reader", "display_name": "Cura Profile Reader",
"description": "Provides support for importing Cura profiles.", "description": "Provides support for importing Cura profiles.",
"package_version": "1.0.1", "package_version": "1.0.1",
"sdk_version": "7.6.0", "sdk_version": "7.7.0",
"website": "https://ultimaker.com", "website": "https://ultimaker.com",
"author": { "author": {
"author_id": "UltimakerPackages", "author_id": "UltimakerPackages",
@ -108,7 +108,7 @@
"display_name": "Cura Profile Writer", "display_name": "Cura Profile Writer",
"description": "Provides support for exporting Cura profiles.", "description": "Provides support for exporting Cura profiles.",
"package_version": "1.0.1", "package_version": "1.0.1",
"sdk_version": "7.6.0", "sdk_version": "7.7.0",
"website": "https://ultimaker.com", "website": "https://ultimaker.com",
"author": { "author": {
"author_id": "UltimakerPackages", "author_id": "UltimakerPackages",
@ -125,7 +125,7 @@
"display_name": "Ultimaker Digital Library", "display_name": "Ultimaker Digital Library",
"description": "Connects to the Digital Library, allowing Cura to open files from and save files to the Digital Library.", "description": "Connects to the Digital Library, allowing Cura to open files from and save files to the Digital Library.",
"package_version": "1.0.0", "package_version": "1.0.0",
"sdk_version": "7.6.0", "sdk_version": "7.7.0",
"website": "https://ultimaker.com", "website": "https://ultimaker.com",
"author": { "author": {
"author_id": "UltimakerPackages", "author_id": "UltimakerPackages",
@ -142,7 +142,7 @@
"display_name": "Firmware Update Checker", "display_name": "Firmware Update Checker",
"description": "Checks for firmware updates.", "description": "Checks for firmware updates.",
"package_version": "1.0.1", "package_version": "1.0.1",
"sdk_version": "7.6.0", "sdk_version": "7.7.0",
"website": "https://ultimaker.com", "website": "https://ultimaker.com",
"author": { "author": {
"author_id": "UltimakerPackages", "author_id": "UltimakerPackages",
@ -159,7 +159,7 @@
"display_name": "Firmware Updater", "display_name": "Firmware Updater",
"description": "Provides a machine actions for updating firmware.", "description": "Provides a machine actions for updating firmware.",
"package_version": "1.0.1", "package_version": "1.0.1",
"sdk_version": "7.6.0", "sdk_version": "7.7.0",
"website": "https://ultimaker.com", "website": "https://ultimaker.com",
"author": { "author": {
"author_id": "UltimakerPackages", "author_id": "UltimakerPackages",
@ -176,7 +176,7 @@
"display_name": "Compressed G-code Reader", "display_name": "Compressed G-code Reader",
"description": "Reads g-code from a compressed archive.", "description": "Reads g-code from a compressed archive.",
"package_version": "1.0.1", "package_version": "1.0.1",
"sdk_version": "7.6.0", "sdk_version": "7.7.0",
"website": "https://ultimaker.com", "website": "https://ultimaker.com",
"author": { "author": {
"author_id": "UltimakerPackages", "author_id": "UltimakerPackages",
@ -193,7 +193,7 @@
"display_name": "Compressed G-code Writer", "display_name": "Compressed G-code Writer",
"description": "Writes g-code to a compressed archive.", "description": "Writes g-code to a compressed archive.",
"package_version": "1.0.1", "package_version": "1.0.1",
"sdk_version": "7.6.0", "sdk_version": "7.7.0",
"website": "https://ultimaker.com", "website": "https://ultimaker.com",
"author": { "author": {
"author_id": "UltimakerPackages", "author_id": "UltimakerPackages",
@ -210,7 +210,7 @@
"display_name": "G-Code Profile Reader", "display_name": "G-Code Profile Reader",
"description": "Provides support for importing profiles from g-code files.", "description": "Provides support for importing profiles from g-code files.",
"package_version": "1.0.1", "package_version": "1.0.1",
"sdk_version": "7.6.0", "sdk_version": "7.7.0",
"website": "https://ultimaker.com", "website": "https://ultimaker.com",
"author": { "author": {
"author_id": "UltimakerPackages", "author_id": "UltimakerPackages",
@ -227,7 +227,7 @@
"display_name": "G-Code Reader", "display_name": "G-Code Reader",
"description": "Allows loading and displaying G-code files.", "description": "Allows loading and displaying G-code files.",
"package_version": "1.0.1", "package_version": "1.0.1",
"sdk_version": "7.6.0", "sdk_version": "7.7.0",
"website": "https://ultimaker.com", "website": "https://ultimaker.com",
"author": { "author": {
"author_id": "VictorLarchenko", "author_id": "VictorLarchenko",
@ -244,7 +244,7 @@
"display_name": "G-Code Writer", "display_name": "G-Code Writer",
"description": "Writes g-code to a file.", "description": "Writes g-code to a file.",
"package_version": "1.0.1", "package_version": "1.0.1",
"sdk_version": "7.6.0", "sdk_version": "7.7.0",
"website": "https://ultimaker.com", "website": "https://ultimaker.com",
"author": { "author": {
"author_id": "UltimakerPackages", "author_id": "UltimakerPackages",
@ -261,7 +261,7 @@
"display_name": "Image Reader", "display_name": "Image Reader",
"description": "Enables ability to generate printable geometry from 2D image files.", "description": "Enables ability to generate printable geometry from 2D image files.",
"package_version": "1.0.1", "package_version": "1.0.1",
"sdk_version": "7.6.0", "sdk_version": "7.7.0",
"website": "https://ultimaker.com", "website": "https://ultimaker.com",
"author": { "author": {
"author_id": "UltimakerPackages", "author_id": "UltimakerPackages",
@ -278,7 +278,7 @@
"display_name": "Legacy Cura Profile Reader", "display_name": "Legacy Cura Profile Reader",
"description": "Provides support for importing profiles from legacy Cura versions.", "description": "Provides support for importing profiles from legacy Cura versions.",
"package_version": "1.0.1", "package_version": "1.0.1",
"sdk_version": "7.6.0", "sdk_version": "7.7.0",
"website": "https://ultimaker.com", "website": "https://ultimaker.com",
"author": { "author": {
"author_id": "UltimakerPackages", "author_id": "UltimakerPackages",
@ -295,7 +295,7 @@
"display_name": "Machine Settings Action", "display_name": "Machine Settings Action",
"description": "Provides a way to change machine settings (such as build volume, nozzle size, etc.).", "description": "Provides a way to change machine settings (such as build volume, nozzle size, etc.).",
"package_version": "1.0.1", "package_version": "1.0.1",
"sdk_version": "7.6.0", "sdk_version": "7.7.0",
"website": "https://ultimaker.com", "website": "https://ultimaker.com",
"author": { "author": {
"author_id": "fieldOfView", "author_id": "fieldOfView",
@ -312,7 +312,7 @@
"display_name": "Model Checker", "display_name": "Model Checker",
"description": "Checks models and print configuration for possible printing issues and give suggestions.", "description": "Checks models and print configuration for possible printing issues and give suggestions.",
"package_version": "1.0.1", "package_version": "1.0.1",
"sdk_version": "7.6.0", "sdk_version": "7.7.0",
"website": "https://ultimaker.com", "website": "https://ultimaker.com",
"author": { "author": {
"author_id": "UltimakerPackages", "author_id": "UltimakerPackages",
@ -329,7 +329,7 @@
"display_name": "Monitor Stage", "display_name": "Monitor Stage",
"description": "Provides a monitor stage in Cura.", "description": "Provides a monitor stage in Cura.",
"package_version": "1.0.1", "package_version": "1.0.1",
"sdk_version": "7.6.0", "sdk_version": "7.7.0",
"website": "https://ultimaker.com", "website": "https://ultimaker.com",
"author": { "author": {
"author_id": "UltimakerPackages", "author_id": "UltimakerPackages",
@ -346,7 +346,7 @@
"display_name": "Per-Object Settings Tool", "display_name": "Per-Object Settings Tool",
"description": "Provides the per-model settings.", "description": "Provides the per-model settings.",
"package_version": "1.0.1", "package_version": "1.0.1",
"sdk_version": "7.6.0", "sdk_version": "7.7.0",
"website": "https://ultimaker.com", "website": "https://ultimaker.com",
"author": { "author": {
"author_id": "UltimakerPackages", "author_id": "UltimakerPackages",
@ -363,7 +363,7 @@
"display_name": "Post Processing", "display_name": "Post Processing",
"description": "Extension that allows for user created scripts for post processing.", "description": "Extension that allows for user created scripts for post processing.",
"package_version": "2.2.1", "package_version": "2.2.1",
"sdk_version": "7.6.0", "sdk_version": "7.7.0",
"website": "https://ultimaker.com", "website": "https://ultimaker.com",
"author": { "author": {
"author_id": "UltimakerPackages", "author_id": "UltimakerPackages",
@ -380,7 +380,7 @@
"display_name": "Prepare Stage", "display_name": "Prepare Stage",
"description": "Provides a prepare stage in Cura.", "description": "Provides a prepare stage in Cura.",
"package_version": "1.0.1", "package_version": "1.0.1",
"sdk_version": "7.6.0", "sdk_version": "7.7.0",
"website": "https://ultimaker.com", "website": "https://ultimaker.com",
"author": { "author": {
"author_id": "UltimakerPackages", "author_id": "UltimakerPackages",
@ -397,7 +397,7 @@
"display_name": "Preview Stage", "display_name": "Preview Stage",
"description": "Provides a preview stage in Cura.", "description": "Provides a preview stage in Cura.",
"package_version": "1.0.1", "package_version": "1.0.1",
"sdk_version": "7.6.0", "sdk_version": "7.7.0",
"website": "https://ultimaker.com", "website": "https://ultimaker.com",
"author": { "author": {
"author_id": "UltimakerPackages", "author_id": "UltimakerPackages",
@ -414,7 +414,7 @@
"display_name": "Removable Drive Output Device", "display_name": "Removable Drive Output Device",
"description": "Provides removable drive hotplugging and writing support.", "description": "Provides removable drive hotplugging and writing support.",
"package_version": "1.0.1", "package_version": "1.0.1",
"sdk_version": "7.6.0", "sdk_version": "7.7.0",
"website": "https://ultimaker.com", "website": "https://ultimaker.com",
"author": { "author": {
"author_id": "UltimakerPackages", "author_id": "UltimakerPackages",
@ -431,7 +431,7 @@
"display_name": "Sentry Logger", "display_name": "Sentry Logger",
"description": "Logs certain events so that they can be used by the crash reporter", "description": "Logs certain events so that they can be used by the crash reporter",
"package_version": "1.0.0", "package_version": "1.0.0",
"sdk_version": "7.6.0", "sdk_version": "7.7.0",
"website": "https://ultimaker.com", "website": "https://ultimaker.com",
"author": { "author": {
"author_id": "UltimakerPackages", "author_id": "UltimakerPackages",
@ -448,7 +448,7 @@
"display_name": "Simulation View", "display_name": "Simulation View",
"description": "Provides the Simulation view.", "description": "Provides the Simulation view.",
"package_version": "1.0.1", "package_version": "1.0.1",
"sdk_version": "7.6.0", "sdk_version": "7.7.0",
"website": "https://ultimaker.com", "website": "https://ultimaker.com",
"author": { "author": {
"author_id": "UltimakerPackages", "author_id": "UltimakerPackages",
@ -465,7 +465,7 @@
"display_name": "Slice Info", "display_name": "Slice Info",
"description": "Submits anonymous slice info. Can be disabled through preferences.", "description": "Submits anonymous slice info. Can be disabled through preferences.",
"package_version": "1.0.1", "package_version": "1.0.1",
"sdk_version": "7.6.0", "sdk_version": "7.7.0",
"website": "https://ultimaker.com", "website": "https://ultimaker.com",
"author": { "author": {
"author_id": "UltimakerPackages", "author_id": "UltimakerPackages",
@ -482,7 +482,7 @@
"display_name": "Solid View", "display_name": "Solid View",
"description": "Provides a normal solid mesh view.", "description": "Provides a normal solid mesh view.",
"package_version": "1.0.1", "package_version": "1.0.1",
"sdk_version": "7.6.0", "sdk_version": "7.7.0",
"website": "https://ultimaker.com", "website": "https://ultimaker.com",
"author": { "author": {
"author_id": "UltimakerPackages", "author_id": "UltimakerPackages",
@ -499,7 +499,7 @@
"display_name": "Support Eraser Tool", "display_name": "Support Eraser Tool",
"description": "Creates an eraser mesh to block the printing of support in certain places.", "description": "Creates an eraser mesh to block the printing of support in certain places.",
"package_version": "1.0.1", "package_version": "1.0.1",
"sdk_version": "7.6.0", "sdk_version": "7.7.0",
"website": "https://ultimaker.com", "website": "https://ultimaker.com",
"author": { "author": {
"author_id": "UltimakerPackages", "author_id": "UltimakerPackages",
@ -516,7 +516,7 @@
"display_name": "Trimesh Reader", "display_name": "Trimesh Reader",
"description": "Provides support for reading model files.", "description": "Provides support for reading model files.",
"package_version": "1.0.0", "package_version": "1.0.0",
"sdk_version": "7.6.0", "sdk_version": "7.7.0",
"website": "https://ultimaker.com", "website": "https://ultimaker.com",
"author": { "author": {
"author_id": "UltimakerPackages", "author_id": "UltimakerPackages",
@ -533,7 +533,7 @@
"display_name": "Toolbox", "display_name": "Toolbox",
"description": "Find, manage and install new Cura packages.", "description": "Find, manage and install new Cura packages.",
"package_version": "1.0.1", "package_version": "1.0.1",
"sdk_version": "7.6.0", "sdk_version": "7.7.0",
"website": "https://ultimaker.com", "website": "https://ultimaker.com",
"author": { "author": {
"author_id": "UltimakerPackages", "author_id": "UltimakerPackages",
@ -550,7 +550,7 @@
"display_name": "UFP Reader", "display_name": "UFP Reader",
"description": "Provides support for reading Ultimaker Format Packages.", "description": "Provides support for reading Ultimaker Format Packages.",
"package_version": "1.0.0", "package_version": "1.0.0",
"sdk_version": "7.6.0", "sdk_version": "7.7.0",
"website": "https://ultimaker.com", "website": "https://ultimaker.com",
"author": { "author": {
"author_id": "UltimakerPackages", "author_id": "UltimakerPackages",
@ -567,7 +567,7 @@
"display_name": "UFP Writer", "display_name": "UFP Writer",
"description": "Provides support for writing Ultimaker Format Packages.", "description": "Provides support for writing Ultimaker Format Packages.",
"package_version": "1.0.1", "package_version": "1.0.1",
"sdk_version": "7.6.0", "sdk_version": "7.7.0",
"website": "https://ultimaker.com", "website": "https://ultimaker.com",
"author": { "author": {
"author_id": "UltimakerPackages", "author_id": "UltimakerPackages",
@ -584,7 +584,7 @@
"display_name": "Ultimaker Machine Actions", "display_name": "Ultimaker Machine Actions",
"description": "Provides machine actions for Ultimaker machines (such as bed leveling wizard, selecting upgrades, etc.).", "description": "Provides machine actions for Ultimaker machines (such as bed leveling wizard, selecting upgrades, etc.).",
"package_version": "1.0.1", "package_version": "1.0.1",
"sdk_version": "7.6.0", "sdk_version": "7.7.0",
"website": "https://ultimaker.com", "website": "https://ultimaker.com",
"author": { "author": {
"author_id": "UltimakerPackages", "author_id": "UltimakerPackages",
@ -601,7 +601,7 @@
"display_name": "UM3 Network Printing", "display_name": "UM3 Network Printing",
"description": "Manages network connections to Ultimaker 3 printers.", "description": "Manages network connections to Ultimaker 3 printers.",
"package_version": "1.0.1", "package_version": "1.0.1",
"sdk_version": "7.6.0", "sdk_version": "7.7.0",
"website": "https://ultimaker.com", "website": "https://ultimaker.com",
"author": { "author": {
"author_id": "UltimakerPackages", "author_id": "UltimakerPackages",
@ -618,7 +618,7 @@
"display_name": "USB Printing", "display_name": "USB Printing",
"description": "Accepts G-Code and sends them to a printer. Plugin can also update firmware.", "description": "Accepts G-Code and sends them to a printer. Plugin can also update firmware.",
"package_version": "1.0.2", "package_version": "1.0.2",
"sdk_version": "7.6.0", "sdk_version": "7.7.0",
"website": "https://ultimaker.com", "website": "https://ultimaker.com",
"author": { "author": {
"author_id": "UltimakerPackages", "author_id": "UltimakerPackages",
@ -635,7 +635,7 @@
"display_name": "Version Upgrade 2.1 to 2.2", "display_name": "Version Upgrade 2.1 to 2.2",
"description": "Upgrades configurations from Cura 2.1 to Cura 2.2.", "description": "Upgrades configurations from Cura 2.1 to Cura 2.2.",
"package_version": "1.0.1", "package_version": "1.0.1",
"sdk_version": "7.6.0", "sdk_version": "7.7.0",
"website": "https://ultimaker.com", "website": "https://ultimaker.com",
"author": { "author": {
"author_id": "UltimakerPackages", "author_id": "UltimakerPackages",
@ -652,7 +652,7 @@
"display_name": "Version Upgrade 2.2 to 2.4", "display_name": "Version Upgrade 2.2 to 2.4",
"description": "Upgrades configurations from Cura 2.2 to Cura 2.4.", "description": "Upgrades configurations from Cura 2.2 to Cura 2.4.",
"package_version": "1.0.1", "package_version": "1.0.1",
"sdk_version": "7.6.0", "sdk_version": "7.7.0",
"website": "https://ultimaker.com", "website": "https://ultimaker.com",
"author": { "author": {
"author_id": "UltimakerPackages", "author_id": "UltimakerPackages",
@ -669,7 +669,7 @@
"display_name": "Version Upgrade 2.5 to 2.6", "display_name": "Version Upgrade 2.5 to 2.6",
"description": "Upgrades configurations from Cura 2.5 to Cura 2.6.", "description": "Upgrades configurations from Cura 2.5 to Cura 2.6.",
"package_version": "1.0.1", "package_version": "1.0.1",
"sdk_version": "7.6.0", "sdk_version": "7.7.0",
"website": "https://ultimaker.com", "website": "https://ultimaker.com",
"author": { "author": {
"author_id": "UltimakerPackages", "author_id": "UltimakerPackages",
@ -686,7 +686,7 @@
"display_name": "Version Upgrade 2.6 to 2.7", "display_name": "Version Upgrade 2.6 to 2.7",
"description": "Upgrades configurations from Cura 2.6 to Cura 2.7.", "description": "Upgrades configurations from Cura 2.6 to Cura 2.7.",
"package_version": "1.0.1", "package_version": "1.0.1",
"sdk_version": "7.6.0", "sdk_version": "7.7.0",
"website": "https://ultimaker.com", "website": "https://ultimaker.com",
"author": { "author": {
"author_id": "UltimakerPackages", "author_id": "UltimakerPackages",
@ -703,7 +703,7 @@
"display_name": "Version Upgrade 2.7 to 3.0", "display_name": "Version Upgrade 2.7 to 3.0",
"description": "Upgrades configurations from Cura 2.7 to Cura 3.0.", "description": "Upgrades configurations from Cura 2.7 to Cura 3.0.",
"package_version": "1.0.1", "package_version": "1.0.1",
"sdk_version": "7.6.0", "sdk_version": "7.7.0",
"website": "https://ultimaker.com", "website": "https://ultimaker.com",
"author": { "author": {
"author_id": "UltimakerPackages", "author_id": "UltimakerPackages",
@ -720,7 +720,7 @@
"display_name": "Version Upgrade 3.0 to 3.1", "display_name": "Version Upgrade 3.0 to 3.1",
"description": "Upgrades configurations from Cura 3.0 to Cura 3.1.", "description": "Upgrades configurations from Cura 3.0 to Cura 3.1.",
"package_version": "1.0.1", "package_version": "1.0.1",
"sdk_version": "7.6.0", "sdk_version": "7.7.0",
"website": "https://ultimaker.com", "website": "https://ultimaker.com",
"author": { "author": {
"author_id": "UltimakerPackages", "author_id": "UltimakerPackages",
@ -737,7 +737,7 @@
"display_name": "Version Upgrade 3.2 to 3.3", "display_name": "Version Upgrade 3.2 to 3.3",
"description": "Upgrades configurations from Cura 3.2 to Cura 3.3.", "description": "Upgrades configurations from Cura 3.2 to Cura 3.3.",
"package_version": "1.0.1", "package_version": "1.0.1",
"sdk_version": "7.6.0", "sdk_version": "7.7.0",
"website": "https://ultimaker.com", "website": "https://ultimaker.com",
"author": { "author": {
"author_id": "UltimakerPackages", "author_id": "UltimakerPackages",
@ -754,7 +754,7 @@
"display_name": "Version Upgrade 3.3 to 3.4", "display_name": "Version Upgrade 3.3 to 3.4",
"description": "Upgrades configurations from Cura 3.3 to Cura 3.4.", "description": "Upgrades configurations from Cura 3.3 to Cura 3.4.",
"package_version": "1.0.1", "package_version": "1.0.1",
"sdk_version": "7.6.0", "sdk_version": "7.7.0",
"website": "https://ultimaker.com", "website": "https://ultimaker.com",
"author": { "author": {
"author_id": "UltimakerPackages", "author_id": "UltimakerPackages",
@ -771,7 +771,7 @@
"display_name": "Version Upgrade 3.4 to 3.5", "display_name": "Version Upgrade 3.4 to 3.5",
"description": "Upgrades configurations from Cura 3.4 to Cura 3.5.", "description": "Upgrades configurations from Cura 3.4 to Cura 3.5.",
"package_version": "1.0.1", "package_version": "1.0.1",
"sdk_version": "7.6.0", "sdk_version": "7.7.0",
"website": "https://ultimaker.com", "website": "https://ultimaker.com",
"author": { "author": {
"author_id": "UltimakerPackages", "author_id": "UltimakerPackages",
@ -788,7 +788,7 @@
"display_name": "Version Upgrade 3.5 to 4.0", "display_name": "Version Upgrade 3.5 to 4.0",
"description": "Upgrades configurations from Cura 3.5 to Cura 4.0.", "description": "Upgrades configurations from Cura 3.5 to Cura 4.0.",
"package_version": "1.0.0", "package_version": "1.0.0",
"sdk_version": "7.6.0", "sdk_version": "7.7.0",
"website": "https://ultimaker.com", "website": "https://ultimaker.com",
"author": { "author": {
"author_id": "UltimakerPackages", "author_id": "UltimakerPackages",
@ -805,7 +805,7 @@
"display_name": "Version Upgrade 4.0 to 4.1", "display_name": "Version Upgrade 4.0 to 4.1",
"description": "Upgrades configurations from Cura 4.0 to Cura 4.1.", "description": "Upgrades configurations from Cura 4.0 to Cura 4.1.",
"package_version": "1.0.1", "package_version": "1.0.1",
"sdk_version": "7.6.0", "sdk_version": "7.7.0",
"website": "https://ultimaker.com", "website": "https://ultimaker.com",
"author": { "author": {
"author_id": "UltimakerPackages", "author_id": "UltimakerPackages",
@ -822,7 +822,7 @@
"display_name": "Version Upgrade 4.1 to 4.2", "display_name": "Version Upgrade 4.1 to 4.2",
"description": "Upgrades configurations from Cura 4.1 to Cura 4.2.", "description": "Upgrades configurations from Cura 4.1 to Cura 4.2.",
"package_version": "1.0.0", "package_version": "1.0.0",
"sdk_version": "7.6.0", "sdk_version": "7.7.0",
"website": "https://ultimaker.com", "website": "https://ultimaker.com",
"author": { "author": {
"author_id": "UltimakerPackages", "author_id": "UltimakerPackages",
@ -839,7 +839,7 @@
"display_name": "Version Upgrade 4.2 to 4.3", "display_name": "Version Upgrade 4.2 to 4.3",
"description": "Upgrades configurations from Cura 4.2 to Cura 4.3.", "description": "Upgrades configurations from Cura 4.2 to Cura 4.3.",
"package_version": "1.0.0", "package_version": "1.0.0",
"sdk_version": "7.6.0", "sdk_version": "7.7.0",
"website": "https://ultimaker.com", "website": "https://ultimaker.com",
"author": { "author": {
"author_id": "UltimakerPackages", "author_id": "UltimakerPackages",
@ -856,7 +856,7 @@
"display_name": "Version Upgrade 4.3 to 4.4", "display_name": "Version Upgrade 4.3 to 4.4",
"description": "Upgrades configurations from Cura 4.3 to Cura 4.4.", "description": "Upgrades configurations from Cura 4.3 to Cura 4.4.",
"package_version": "1.0.0", "package_version": "1.0.0",
"sdk_version": "7.6.0", "sdk_version": "7.7.0",
"website": "https://ultimaker.com", "website": "https://ultimaker.com",
"author": { "author": {
"author_id": "UltimakerPackages", "author_id": "UltimakerPackages",
@ -873,7 +873,7 @@
"display_name": "Version Upgrade 4.4 to 4.5", "display_name": "Version Upgrade 4.4 to 4.5",
"description": "Upgrades configurations from Cura 4.4 to Cura 4.5.", "description": "Upgrades configurations from Cura 4.4 to Cura 4.5.",
"package_version": "1.0.0", "package_version": "1.0.0",
"sdk_version": "7.6.0", "sdk_version": "7.7.0",
"website": "https://ultimaker.com", "website": "https://ultimaker.com",
"author": { "author": {
"author_id": "UltimakerPackages", "author_id": "UltimakerPackages",
@ -890,7 +890,7 @@
"display_name": "Version Upgrade 4.5 to 4.6", "display_name": "Version Upgrade 4.5 to 4.6",
"description": "Upgrades configurations from Cura 4.5 to Cura 4.6.", "description": "Upgrades configurations from Cura 4.5 to Cura 4.6.",
"package_version": "1.0.0", "package_version": "1.0.0",
"sdk_version": "7.6.0", "sdk_version": "7.7.0",
"website": "https://ultimaker.com", "website": "https://ultimaker.com",
"author": { "author": {
"author_id": "UltimakerPackages", "author_id": "UltimakerPackages",
@ -907,7 +907,7 @@
"display_name": "Version Upgrade 4.6.0 to 4.6.2", "display_name": "Version Upgrade 4.6.0 to 4.6.2",
"description": "Upgrades configurations from Cura 4.6.0 to Cura 4.6.2.", "description": "Upgrades configurations from Cura 4.6.0 to Cura 4.6.2.",
"package_version": "1.0.0", "package_version": "1.0.0",
"sdk_version": "7.6.0", "sdk_version": "7.7.0",
"website": "https://ultimaker.com", "website": "https://ultimaker.com",
"author": { "author": {
"author_id": "UltimakerPackages", "author_id": "UltimakerPackages",
@ -924,7 +924,7 @@
"display_name": "Version Upgrade 4.6.2 to 4.7", "display_name": "Version Upgrade 4.6.2 to 4.7",
"description": "Upgrades configurations from Cura 4.6.2 to Cura 4.7.", "description": "Upgrades configurations from Cura 4.6.2 to Cura 4.7.",
"package_version": "1.0.0", "package_version": "1.0.0",
"sdk_version": "7.6.0", "sdk_version": "7.7.0",
"website": "https://ultimaker.com", "website": "https://ultimaker.com",
"author": { "author": {
"author_id": "UltimakerPackages", "author_id": "UltimakerPackages",
@ -941,7 +941,7 @@
"display_name": "Version Upgrade 4.7.0 to 4.8.0", "display_name": "Version Upgrade 4.7.0 to 4.8.0",
"description": "Upgrades configurations from Cura 4.7.0 to Cura 4.8.0", "description": "Upgrades configurations from Cura 4.7.0 to Cura 4.8.0",
"package_version": "1.0.0", "package_version": "1.0.0",
"sdk_version": "7.6.0", "sdk_version": "7.7.0",
"website": "https://ultimaker.com", "website": "https://ultimaker.com",
"author": { "author": {
"author_id": "UltimakerPackages", "author_id": "UltimakerPackages",
@ -958,7 +958,7 @@
"display_name": "Version Upgrade 4.8.0 to 4.9.0", "display_name": "Version Upgrade 4.8.0 to 4.9.0",
"description": "Upgrades configurations from Cura 4.8.0 to Cura 4.9.0", "description": "Upgrades configurations from Cura 4.8.0 to Cura 4.9.0",
"package_version": "1.0.0", "package_version": "1.0.0",
"sdk_version": "7.6.0", "sdk_version": "7.7.0",
"website": "https://ultimaker.com", "website": "https://ultimaker.com",
"author": { "author": {
"author_id": "UltimakerPackages", "author_id": "UltimakerPackages",
@ -976,7 +976,7 @@
"description": "Upgrades configurations from Cura 4.9 to Cura 4.10", "description": "Upgrades configurations from Cura 4.9 to Cura 4.10",
"package_version": "1.0.0", "package_version": "1.0.0",
"sdk_version": 7, "sdk_version": 7,
"sdk_version_semver": "7.6.0", "sdk_version_semver": "7.7.0",
"website": "https://ultimaker.com", "website": "https://ultimaker.com",
"author": { "author": {
"author_id": "UltimakerPackages", "author_id": "UltimakerPackages",
@ -993,7 +993,7 @@
"display_name": "X3D Reader", "display_name": "X3D Reader",
"description": "Provides support for reading X3D files.", "description": "Provides support for reading X3D files.",
"package_version": "1.0.1", "package_version": "1.0.1",
"sdk_version": "7.6.0", "sdk_version": "7.7.0",
"website": "https://ultimaker.com", "website": "https://ultimaker.com",
"author": { "author": {
"author_id": "SevaAlekseyev", "author_id": "SevaAlekseyev",
@ -1010,7 +1010,7 @@
"display_name": "XML Material Profiles", "display_name": "XML Material Profiles",
"description": "Provides capabilities to read and write XML-based material profiles.", "description": "Provides capabilities to read and write XML-based material profiles.",
"package_version": "1.0.1", "package_version": "1.0.1",
"sdk_version": "7.6.0", "sdk_version": "7.7.0",
"website": "https://ultimaker.com", "website": "https://ultimaker.com",
"author": { "author": {
"author_id": "UltimakerPackages", "author_id": "UltimakerPackages",
@ -1027,7 +1027,7 @@
"display_name": "X-Ray View", "display_name": "X-Ray View",
"description": "Provides the X-Ray view.", "description": "Provides the X-Ray view.",
"package_version": "1.0.1", "package_version": "1.0.1",
"sdk_version": "7.6.0", "sdk_version": "7.7.0",
"website": "https://ultimaker.com", "website": "https://ultimaker.com",
"author": { "author": {
"author_id": "UltimakerPackages", "author_id": "UltimakerPackages",
@ -1044,7 +1044,7 @@
"display_name": "Generic ABS", "display_name": "Generic ABS",
"description": "The generic ABS profile which other profiles can be based upon.", "description": "The generic ABS profile which other profiles can be based upon.",
"package_version": "1.4.0", "package_version": "1.4.0",
"sdk_version": "7.6.0", "sdk_version": "7.7.0",
"website": "https://github.com/Ultimaker/fdm_materials", "website": "https://github.com/Ultimaker/fdm_materials",
"author": { "author": {
"author_id": "Generic", "author_id": "Generic",
@ -1062,7 +1062,7 @@
"display_name": "Generic BAM", "display_name": "Generic BAM",
"description": "The generic BAM profile which other profiles can be based upon.", "description": "The generic BAM profile which other profiles can be based upon.",
"package_version": "1.4.0", "package_version": "1.4.0",
"sdk_version": "7.6.0", "sdk_version": "7.7.0",
"website": "https://github.com/Ultimaker/fdm_materials", "website": "https://github.com/Ultimaker/fdm_materials",
"author": { "author": {
"author_id": "Generic", "author_id": "Generic",
@ -1080,7 +1080,7 @@
"display_name": "Generic CFF CPE", "display_name": "Generic CFF CPE",
"description": "The generic CFF CPE profile which other profiles can be based upon.", "description": "The generic CFF CPE profile which other profiles can be based upon.",
"package_version": "1.4.0", "package_version": "1.4.0",
"sdk_version": "7.6.0", "sdk_version": "7.7.0",
"website": "https://github.com/Ultimaker/fdm_materials", "website": "https://github.com/Ultimaker/fdm_materials",
"author": { "author": {
"author_id": "Generic", "author_id": "Generic",
@ -1098,7 +1098,7 @@
"display_name": "Generic CFF PA", "display_name": "Generic CFF PA",
"description": "The generic CFF PA profile which other profiles can be based upon.", "description": "The generic CFF PA profile which other profiles can be based upon.",
"package_version": "1.4.0", "package_version": "1.4.0",
"sdk_version": "7.6.0", "sdk_version": "7.7.0",
"website": "https://github.com/Ultimaker/fdm_materials", "website": "https://github.com/Ultimaker/fdm_materials",
"author": { "author": {
"author_id": "Generic", "author_id": "Generic",
@ -1116,7 +1116,7 @@
"display_name": "Generic CPE", "display_name": "Generic CPE",
"description": "The generic CPE profile which other profiles can be based upon.", "description": "The generic CPE profile which other profiles can be based upon.",
"package_version": "1.4.0", "package_version": "1.4.0",
"sdk_version": "7.6.0", "sdk_version": "7.7.0",
"website": "https://github.com/Ultimaker/fdm_materials", "website": "https://github.com/Ultimaker/fdm_materials",
"author": { "author": {
"author_id": "Generic", "author_id": "Generic",
@ -1134,7 +1134,7 @@
"display_name": "Generic CPE+", "display_name": "Generic CPE+",
"description": "The generic CPE+ profile which other profiles can be based upon.", "description": "The generic CPE+ profile which other profiles can be based upon.",
"package_version": "1.4.0", "package_version": "1.4.0",
"sdk_version": "7.6.0", "sdk_version": "7.7.0",
"website": "https://github.com/Ultimaker/fdm_materials", "website": "https://github.com/Ultimaker/fdm_materials",
"author": { "author": {
"author_id": "Generic", "author_id": "Generic",
@ -1152,7 +1152,7 @@
"display_name": "Generic GFF CPE", "display_name": "Generic GFF CPE",
"description": "The generic GFF CPE profile which other profiles can be based upon.", "description": "The generic GFF CPE profile which other profiles can be based upon.",
"package_version": "1.4.0", "package_version": "1.4.0",
"sdk_version": "7.6.0", "sdk_version": "7.7.0",
"website": "https://github.com/Ultimaker/fdm_materials", "website": "https://github.com/Ultimaker/fdm_materials",
"author": { "author": {
"author_id": "Generic", "author_id": "Generic",
@ -1170,7 +1170,7 @@
"display_name": "Generic GFF PA", "display_name": "Generic GFF PA",
"description": "The generic GFF PA profile which other profiles can be based upon.", "description": "The generic GFF PA profile which other profiles can be based upon.",
"package_version": "1.4.0", "package_version": "1.4.0",
"sdk_version": "7.6.0", "sdk_version": "7.7.0",
"website": "https://github.com/Ultimaker/fdm_materials", "website": "https://github.com/Ultimaker/fdm_materials",
"author": { "author": {
"author_id": "Generic", "author_id": "Generic",
@ -1188,7 +1188,7 @@
"display_name": "Generic HIPS", "display_name": "Generic HIPS",
"description": "The generic HIPS profile which other profiles can be based upon.", "description": "The generic HIPS profile which other profiles can be based upon.",
"package_version": "1.4.0", "package_version": "1.4.0",
"sdk_version": "7.6.0", "sdk_version": "7.7.0",
"website": "https://github.com/Ultimaker/fdm_materials", "website": "https://github.com/Ultimaker/fdm_materials",
"author": { "author": {
"author_id": "Generic", "author_id": "Generic",
@ -1206,7 +1206,7 @@
"display_name": "Generic Nylon", "display_name": "Generic Nylon",
"description": "The generic Nylon profile which other profiles can be based upon.", "description": "The generic Nylon profile which other profiles can be based upon.",
"package_version": "1.4.0", "package_version": "1.4.0",
"sdk_version": "7.6.0", "sdk_version": "7.7.0",
"website": "https://github.com/Ultimaker/fdm_materials", "website": "https://github.com/Ultimaker/fdm_materials",
"author": { "author": {
"author_id": "Generic", "author_id": "Generic",
@ -1224,7 +1224,7 @@
"display_name": "Generic PC", "display_name": "Generic PC",
"description": "The generic PC profile which other profiles can be based upon.", "description": "The generic PC profile which other profiles can be based upon.",
"package_version": "1.4.0", "package_version": "1.4.0",
"sdk_version": "7.6.0", "sdk_version": "7.7.0",
"website": "https://github.com/Ultimaker/fdm_materials", "website": "https://github.com/Ultimaker/fdm_materials",
"author": { "author": {
"author_id": "Generic", "author_id": "Generic",
@ -1242,7 +1242,7 @@
"display_name": "Generic PETG", "display_name": "Generic PETG",
"description": "The generic PETG profile which other profiles can be based upon.", "description": "The generic PETG profile which other profiles can be based upon.",
"package_version": "1.4.0", "package_version": "1.4.0",
"sdk_version": "7.6.0", "sdk_version": "7.7.0",
"website": "https://github.com/Ultimaker/fdm_materials", "website": "https://github.com/Ultimaker/fdm_materials",
"author": { "author": {
"author_id": "Generic", "author_id": "Generic",
@ -1260,7 +1260,7 @@
"display_name": "Generic PLA", "display_name": "Generic PLA",
"description": "The generic PLA profile which other profiles can be based upon.", "description": "The generic PLA profile which other profiles can be based upon.",
"package_version": "1.4.0", "package_version": "1.4.0",
"sdk_version": "7.6.0", "sdk_version": "7.7.0",
"website": "https://github.com/Ultimaker/fdm_materials", "website": "https://github.com/Ultimaker/fdm_materials",
"author": { "author": {
"author_id": "Generic", "author_id": "Generic",
@ -1278,7 +1278,7 @@
"display_name": "Generic PP", "display_name": "Generic PP",
"description": "The generic PP profile which other profiles can be based upon.", "description": "The generic PP profile which other profiles can be based upon.",
"package_version": "1.4.0", "package_version": "1.4.0",
"sdk_version": "7.6.0", "sdk_version": "7.7.0",
"website": "https://github.com/Ultimaker/fdm_materials", "website": "https://github.com/Ultimaker/fdm_materials",
"author": { "author": {
"author_id": "Generic", "author_id": "Generic",
@ -1296,7 +1296,7 @@
"display_name": "Generic PVA", "display_name": "Generic PVA",
"description": "The generic PVA profile which other profiles can be based upon.", "description": "The generic PVA profile which other profiles can be based upon.",
"package_version": "1.4.0", "package_version": "1.4.0",
"sdk_version": "7.6.0", "sdk_version": "7.7.0",
"website": "https://github.com/Ultimaker/fdm_materials", "website": "https://github.com/Ultimaker/fdm_materials",
"author": { "author": {
"author_id": "Generic", "author_id": "Generic",
@ -1314,7 +1314,7 @@
"display_name": "Generic Tough PLA", "display_name": "Generic Tough PLA",
"description": "The generic Tough PLA profile which other profiles can be based upon.", "description": "The generic Tough PLA profile which other profiles can be based upon.",
"package_version": "1.4.0", "package_version": "1.4.0",
"sdk_version": "7.6.0", "sdk_version": "7.7.0",
"website": "https://github.com/Ultimaker/fdm_materials", "website": "https://github.com/Ultimaker/fdm_materials",
"author": { "author": {
"author_id": "Generic", "author_id": "Generic",
@ -1332,7 +1332,7 @@
"display_name": "Generic TPU", "display_name": "Generic TPU",
"description": "The generic TPU profile which other profiles can be based upon.", "description": "The generic TPU profile which other profiles can be based upon.",
"package_version": "1.4.0", "package_version": "1.4.0",
"sdk_version": "7.6.0", "sdk_version": "7.7.0",
"website": "https://github.com/Ultimaker/fdm_materials", "website": "https://github.com/Ultimaker/fdm_materials",
"author": { "author": {
"author_id": "Generic", "author_id": "Generic",
@ -1350,7 +1350,7 @@
"display_name": "Dagoma Chromatik PLA", "display_name": "Dagoma Chromatik PLA",
"description": "Filament testé et approuvé pour les imprimantes 3D Dagoma. Chromatik est l'idéal pour débuter et suivre les tutoriels premiers pas. Il vous offre qualité et résistance pour chacune de vos impressions.", "description": "Filament testé et approuvé pour les imprimantes 3D Dagoma. Chromatik est l'idéal pour débuter et suivre les tutoriels premiers pas. Il vous offre qualité et résistance pour chacune de vos impressions.",
"package_version": "1.0.1", "package_version": "1.0.1",
"sdk_version": "7.6.0", "sdk_version": "7.7.0",
"website": "https://dagoma.fr/boutique/filaments.html", "website": "https://dagoma.fr/boutique/filaments.html",
"author": { "author": {
"author_id": "Dagoma", "author_id": "Dagoma",
@ -1367,7 +1367,7 @@
"display_name": "FABtotum ABS", "display_name": "FABtotum ABS",
"description": "This material is easy to be extruded but it is not the simplest to use. It is one of the most used in 3D printing to get very well finished objects. It is not sustainable and its smoke can be dangerous if inhaled. The reason to prefer this filament to PLA is mainly because of its precision and mechanical specs. ABS (for plastic) stands for Acrylonitrile Butadiene Styrene and it is a thermoplastic which is widely used in everyday objects. It can be printed with any FFF 3D printer which can get to high temperatures as it must be extruded in a range between 220° and 245°, so its compatible with all versions of the FABtotum Personal fabricator.", "description": "This material is easy to be extruded but it is not the simplest to use. It is one of the most used in 3D printing to get very well finished objects. It is not sustainable and its smoke can be dangerous if inhaled. The reason to prefer this filament to PLA is mainly because of its precision and mechanical specs. ABS (for plastic) stands for Acrylonitrile Butadiene Styrene and it is a thermoplastic which is widely used in everyday objects. It can be printed with any FFF 3D printer which can get to high temperatures as it must be extruded in a range between 220° and 245°, so its compatible with all versions of the FABtotum Personal fabricator.",
"package_version": "1.4.0", "package_version": "1.4.0",
"sdk_version": "7.6.0", "sdk_version": "7.7.0",
"website": "https://store.fabtotum.com/eu/products/filaments.html?filament_type=40", "website": "https://store.fabtotum.com/eu/products/filaments.html?filament_type=40",
"author": { "author": {
"author_id": "FABtotum", "author_id": "FABtotum",
@ -1384,7 +1384,7 @@
"display_name": "FABtotum Nylon", "display_name": "FABtotum Nylon",
"description": "When 3D printing started this material was not listed among the extrudable filaments. It is flexible as well as resistant to tractions. It is well known for its uses in textile but also in industries which require a strong and flexible material. There are different kinds of Nylon: 3D printing mostly uses Nylon 6 and Nylon 6.6, which are the most common. It requires higher temperatures to be printed, so a 3D printer must be able to reach them (around 240°C): the FABtotum, of course, can.", "description": "When 3D printing started this material was not listed among the extrudable filaments. It is flexible as well as resistant to tractions. It is well known for its uses in textile but also in industries which require a strong and flexible material. There are different kinds of Nylon: 3D printing mostly uses Nylon 6 and Nylon 6.6, which are the most common. It requires higher temperatures to be printed, so a 3D printer must be able to reach them (around 240°C): the FABtotum, of course, can.",
"package_version": "1.4.0", "package_version": "1.4.0",
"sdk_version": "7.6.0", "sdk_version": "7.7.0",
"website": "https://store.fabtotum.com/eu/products/filaments.html?filament_type=53", "website": "https://store.fabtotum.com/eu/products/filaments.html?filament_type=53",
"author": { "author": {
"author_id": "FABtotum", "author_id": "FABtotum",
@ -1401,7 +1401,7 @@
"display_name": "FABtotum PLA", "display_name": "FABtotum PLA",
"description": "It is the most common filament used for 3D printing. It is studied to be bio-degradable as it comes from corn starchs sugar mainly. It is completely made of renewable sources and has no footprint on polluting. PLA stands for PolyLactic Acid and it is a thermoplastic that today is still considered the easiest material to be 3D printed. It can be extruded at lower temperatures: the standard range of FABtotums one is between 185° and 195°.", "description": "It is the most common filament used for 3D printing. It is studied to be bio-degradable as it comes from corn starchs sugar mainly. It is completely made of renewable sources and has no footprint on polluting. PLA stands for PolyLactic Acid and it is a thermoplastic that today is still considered the easiest material to be 3D printed. It can be extruded at lower temperatures: the standard range of FABtotums one is between 185° and 195°.",
"package_version": "1.4.0", "package_version": "1.4.0",
"sdk_version": "7.6.0", "sdk_version": "7.7.0",
"website": "https://store.fabtotum.com/eu/products/filaments.html?filament_type=39", "website": "https://store.fabtotum.com/eu/products/filaments.html?filament_type=39",
"author": { "author": {
"author_id": "FABtotum", "author_id": "FABtotum",
@ -1418,7 +1418,7 @@
"display_name": "FABtotum TPU Shore 98A", "display_name": "FABtotum TPU Shore 98A",
"description": "", "description": "",
"package_version": "1.4.0", "package_version": "1.4.0",
"sdk_version": "7.6.0", "sdk_version": "7.7.0",
"website": "https://store.fabtotum.com/eu/products/filaments.html?filament_type=66", "website": "https://store.fabtotum.com/eu/products/filaments.html?filament_type=66",
"author": { "author": {
"author_id": "FABtotum", "author_id": "FABtotum",
@ -1435,7 +1435,7 @@
"display_name": "Fiberlogy HD PLA", "display_name": "Fiberlogy HD PLA",
"description": "With our HD PLA you have many more options. You can use this material in two ways. Choose the one you like best. You can use it as a normal PLA and get prints characterized by a very good adhesion between the layers and high precision. You can also make your prints acquire similar properties to that of ABS better impact resistance and high temperature resistance. All you need is an oven. Yes, an oven! By annealing our HD PLA in an oven, in accordance with the manual, you will avoid all the inconveniences of printing with ABS, such as unpleasant odour or hazardous fumes.", "description": "With our HD PLA you have many more options. You can use this material in two ways. Choose the one you like best. You can use it as a normal PLA and get prints characterized by a very good adhesion between the layers and high precision. You can also make your prints acquire similar properties to that of ABS better impact resistance and high temperature resistance. All you need is an oven. Yes, an oven! By annealing our HD PLA in an oven, in accordance with the manual, you will avoid all the inconveniences of printing with ABS, such as unpleasant odour or hazardous fumes.",
"package_version": "1.0.1", "package_version": "1.0.1",
"sdk_version": "7.6.0", "sdk_version": "7.7.0",
"website": "http://fiberlogy.com/en/fiberlogy-filaments/filament-hd-pla/", "website": "http://fiberlogy.com/en/fiberlogy-filaments/filament-hd-pla/",
"author": { "author": {
"author_id": "Fiberlogy", "author_id": "Fiberlogy",
@ -1452,7 +1452,7 @@
"display_name": "Filo3D PLA", "display_name": "Filo3D PLA",
"description": "Fast, safe and reliable printing. PLA is ideal for the fast and reliable printing of parts and prototypes with a great surface quality.", "description": "Fast, safe and reliable printing. PLA is ideal for the fast and reliable printing of parts and prototypes with a great surface quality.",
"package_version": "1.0.1", "package_version": "1.0.1",
"sdk_version": "7.6.0", "sdk_version": "7.7.0",
"website": "https://dagoma.fr", "website": "https://dagoma.fr",
"author": { "author": {
"author_id": "Dagoma", "author_id": "Dagoma",
@ -1469,7 +1469,7 @@
"display_name": "IMADE3D JellyBOX PETG", "display_name": "IMADE3D JellyBOX PETG",
"description": "", "description": "",
"package_version": "1.0.1", "package_version": "1.0.1",
"sdk_version": "7.6.0", "sdk_version": "7.7.0",
"website": "http://shop.imade3d.com/filament.html", "website": "http://shop.imade3d.com/filament.html",
"author": { "author": {
"author_id": "IMADE3D", "author_id": "IMADE3D",
@ -1486,7 +1486,7 @@
"display_name": "IMADE3D JellyBOX PLA", "display_name": "IMADE3D JellyBOX PLA",
"description": "", "description": "",
"package_version": "1.0.1", "package_version": "1.0.1",
"sdk_version": "7.6.0", "sdk_version": "7.7.0",
"website": "http://shop.imade3d.com/filament.html", "website": "http://shop.imade3d.com/filament.html",
"author": { "author": {
"author_id": "IMADE3D", "author_id": "IMADE3D",
@ -1503,7 +1503,7 @@
"display_name": "Octofiber PLA", "display_name": "Octofiber PLA",
"description": "PLA material from Octofiber.", "description": "PLA material from Octofiber.",
"package_version": "1.0.1", "package_version": "1.0.1",
"sdk_version": "7.6.0", "sdk_version": "7.7.0",
"website": "https://nl.octofiber.com/3d-printing-filament/pla.html", "website": "https://nl.octofiber.com/3d-printing-filament/pla.html",
"author": { "author": {
"author_id": "Octofiber", "author_id": "Octofiber",
@ -1520,7 +1520,7 @@
"display_name": "PolyFlex™ PLA", "display_name": "PolyFlex™ PLA",
"description": "PolyFlex™ is a highly flexible yet easy to print 3D printing material. Featuring good elasticity and a large strain-to- failure, PolyFlex™ opens up a completely new realm of applications.", "description": "PolyFlex™ is a highly flexible yet easy to print 3D printing material. Featuring good elasticity and a large strain-to- failure, PolyFlex™ opens up a completely new realm of applications.",
"package_version": "1.0.1", "package_version": "1.0.1",
"sdk_version": "7.6.0", "sdk_version": "7.7.0",
"website": "http://www.polymaker.com/shop/polyflex/", "website": "http://www.polymaker.com/shop/polyflex/",
"author": { "author": {
"author_id": "Polymaker", "author_id": "Polymaker",
@ -1537,7 +1537,7 @@
"display_name": "PolyMax™ PLA", "display_name": "PolyMax™ PLA",
"description": "PolyMax™ PLA is a 3D printing material with excellent mechanical properties and printing quality. PolyMax™ PLA has an impact resistance of up to nine times that of regular PLA, and better overall mechanical properties than ABS.", "description": "PolyMax™ PLA is a 3D printing material with excellent mechanical properties and printing quality. PolyMax™ PLA has an impact resistance of up to nine times that of regular PLA, and better overall mechanical properties than ABS.",
"package_version": "1.0.1", "package_version": "1.0.1",
"sdk_version": "7.6.0", "sdk_version": "7.7.0",
"website": "http://www.polymaker.com/shop/polymax/", "website": "http://www.polymaker.com/shop/polymax/",
"author": { "author": {
"author_id": "Polymaker", "author_id": "Polymaker",
@ -1554,7 +1554,7 @@
"display_name": "PolyPlus™ PLA True Colour", "display_name": "PolyPlus™ PLA True Colour",
"description": "PolyPlus™ PLA is a premium PLA designed for all desktop FDM/FFF 3D printers. It is produced with our patented Jam-Free™ technology that ensures consistent extrusion and prevents jams.", "description": "PolyPlus™ PLA is a premium PLA designed for all desktop FDM/FFF 3D printers. It is produced with our patented Jam-Free™ technology that ensures consistent extrusion and prevents jams.",
"package_version": "1.0.1", "package_version": "1.0.1",
"sdk_version": "7.6.0", "sdk_version": "7.7.0",
"website": "http://www.polymaker.com/shop/polyplus-true-colour/", "website": "http://www.polymaker.com/shop/polyplus-true-colour/",
"author": { "author": {
"author_id": "Polymaker", "author_id": "Polymaker",
@ -1571,7 +1571,7 @@
"display_name": "PolyWood™ PLA", "display_name": "PolyWood™ PLA",
"description": "PolyWood™ is a wood mimic printing material that contains no actual wood ensuring a clean Jam-Free™ printing experience.", "description": "PolyWood™ is a wood mimic printing material that contains no actual wood ensuring a clean Jam-Free™ printing experience.",
"package_version": "1.0.1", "package_version": "1.0.1",
"sdk_version": "7.6.0", "sdk_version": "7.7.0",
"website": "http://www.polymaker.com/shop/polywood/", "website": "http://www.polymaker.com/shop/polywood/",
"author": { "author": {
"author_id": "Polymaker", "author_id": "Polymaker",
@ -1588,7 +1588,7 @@
"display_name": "Ultimaker ABS", "display_name": "Ultimaker ABS",
"description": "Example package for material and quality profiles for Ultimaker materials.", "description": "Example package for material and quality profiles for Ultimaker materials.",
"package_version": "1.4.0", "package_version": "1.4.0",
"sdk_version": "7.6.0", "sdk_version": "7.7.0",
"website": "https://ultimaker.com/products/materials/abs", "website": "https://ultimaker.com/products/materials/abs",
"author": { "author": {
"author_id": "UltimakerPackages", "author_id": "UltimakerPackages",
@ -1607,7 +1607,7 @@
"display_name": "Ultimaker Breakaway", "display_name": "Ultimaker Breakaway",
"description": "Example package for material and quality profiles for Ultimaker materials.", "description": "Example package for material and quality profiles for Ultimaker materials.",
"package_version": "1.4.0", "package_version": "1.4.0",
"sdk_version": "7.6.0", "sdk_version": "7.7.0",
"website": "https://ultimaker.com/products/materials/breakaway", "website": "https://ultimaker.com/products/materials/breakaway",
"author": { "author": {
"author_id": "UltimakerPackages", "author_id": "UltimakerPackages",
@ -1626,7 +1626,7 @@
"display_name": "Ultimaker CPE", "display_name": "Ultimaker CPE",
"description": "Example package for material and quality profiles for Ultimaker materials.", "description": "Example package for material and quality profiles for Ultimaker materials.",
"package_version": "1.4.0", "package_version": "1.4.0",
"sdk_version": "7.6.0", "sdk_version": "7.7.0",
"website": "https://ultimaker.com/products/materials/abs", "website": "https://ultimaker.com/products/materials/abs",
"author": { "author": {
"author_id": "UltimakerPackages", "author_id": "UltimakerPackages",
@ -1645,7 +1645,7 @@
"display_name": "Ultimaker CPE+", "display_name": "Ultimaker CPE+",
"description": "Example package for material and quality profiles for Ultimaker materials.", "description": "Example package for material and quality profiles for Ultimaker materials.",
"package_version": "1.4.0", "package_version": "1.4.0",
"sdk_version": "7.6.0", "sdk_version": "7.7.0",
"website": "https://ultimaker.com/products/materials/cpe", "website": "https://ultimaker.com/products/materials/cpe",
"author": { "author": {
"author_id": "UltimakerPackages", "author_id": "UltimakerPackages",
@ -1664,7 +1664,7 @@
"display_name": "Ultimaker Nylon", "display_name": "Ultimaker Nylon",
"description": "Example package for material and quality profiles for Ultimaker materials.", "description": "Example package for material and quality profiles for Ultimaker materials.",
"package_version": "1.4.0", "package_version": "1.4.0",
"sdk_version": "7.6.0", "sdk_version": "7.7.0",
"website": "https://ultimaker.com/products/materials/abs", "website": "https://ultimaker.com/products/materials/abs",
"author": { "author": {
"author_id": "UltimakerPackages", "author_id": "UltimakerPackages",
@ -1683,7 +1683,7 @@
"display_name": "Ultimaker PC", "display_name": "Ultimaker PC",
"description": "Example package for material and quality profiles for Ultimaker materials.", "description": "Example package for material and quality profiles for Ultimaker materials.",
"package_version": "1.4.0", "package_version": "1.4.0",
"sdk_version": "7.6.0", "sdk_version": "7.7.0",
"website": "https://ultimaker.com/products/materials/pc", "website": "https://ultimaker.com/products/materials/pc",
"author": { "author": {
"author_id": "UltimakerPackages", "author_id": "UltimakerPackages",
@ -1702,7 +1702,7 @@
"display_name": "Ultimaker PLA", "display_name": "Ultimaker PLA",
"description": "Example package for material and quality profiles for Ultimaker materials.", "description": "Example package for material and quality profiles for Ultimaker materials.",
"package_version": "1.4.0", "package_version": "1.4.0",
"sdk_version": "7.6.0", "sdk_version": "7.7.0",
"website": "https://ultimaker.com/products/materials/abs", "website": "https://ultimaker.com/products/materials/abs",
"author": { "author": {
"author_id": "UltimakerPackages", "author_id": "UltimakerPackages",
@ -1721,7 +1721,7 @@
"display_name": "Ultimaker PP", "display_name": "Ultimaker PP",
"description": "Example package for material and quality profiles for Ultimaker materials.", "description": "Example package for material and quality profiles for Ultimaker materials.",
"package_version": "1.4.0", "package_version": "1.4.0",
"sdk_version": "7.6.0", "sdk_version": "7.7.0",
"website": "https://ultimaker.com/products/materials/pp", "website": "https://ultimaker.com/products/materials/pp",
"author": { "author": {
"author_id": "UltimakerPackages", "author_id": "UltimakerPackages",
@ -1740,7 +1740,7 @@
"display_name": "Ultimaker PVA", "display_name": "Ultimaker PVA",
"description": "Example package for material and quality profiles for Ultimaker materials.", "description": "Example package for material and quality profiles for Ultimaker materials.",
"package_version": "1.4.0", "package_version": "1.4.0",
"sdk_version": "7.6.0", "sdk_version": "7.7.0",
"website": "https://ultimaker.com/products/materials/abs", "website": "https://ultimaker.com/products/materials/abs",
"author": { "author": {
"author_id": "UltimakerPackages", "author_id": "UltimakerPackages",
@ -1759,7 +1759,7 @@
"display_name": "Ultimaker TPU 95A", "display_name": "Ultimaker TPU 95A",
"description": "Example package for material and quality profiles for Ultimaker materials.", "description": "Example package for material and quality profiles for Ultimaker materials.",
"package_version": "1.4.0", "package_version": "1.4.0",
"sdk_version": "7.6.0", "sdk_version": "7.7.0",
"website": "https://ultimaker.com/products/materials/tpu-95a", "website": "https://ultimaker.com/products/materials/tpu-95a",
"author": { "author": {
"author_id": "UltimakerPackages", "author_id": "UltimakerPackages",
@ -1778,7 +1778,7 @@
"display_name": "Ultimaker Tough PLA", "display_name": "Ultimaker Tough PLA",
"description": "Example package for material and quality profiles for Ultimaker materials.", "description": "Example package for material and quality profiles for Ultimaker materials.",
"package_version": "1.4.0", "package_version": "1.4.0",
"sdk_version": "7.6.0", "sdk_version": "7.7.0",
"website": "https://ultimaker.com/products/materials/tough-pla", "website": "https://ultimaker.com/products/materials/tough-pla",
"author": { "author": {
"author_id": "UltimakerPackages", "author_id": "UltimakerPackages",
@ -1797,7 +1797,7 @@
"display_name": "Vertex Delta ABS", "display_name": "Vertex Delta ABS",
"description": "ABS material and quality files for the Delta Vertex K8800.", "description": "ABS material and quality files for the Delta Vertex K8800.",
"package_version": "1.4.0", "package_version": "1.4.0",
"sdk_version": "7.6.0", "sdk_version": "7.7.0",
"website": "https://vertex3dprinter.eu", "website": "https://vertex3dprinter.eu",
"author": { "author": {
"author_id": "Velleman", "author_id": "Velleman",
@ -1814,7 +1814,7 @@
"display_name": "Vertex Delta PET", "display_name": "Vertex Delta PET",
"description": "ABS material and quality files for the Delta Vertex K8800.", "description": "ABS material and quality files for the Delta Vertex K8800.",
"package_version": "1.4.0", "package_version": "1.4.0",
"sdk_version": "7.6.0", "sdk_version": "7.7.0",
"website": "https://vertex3dprinter.eu", "website": "https://vertex3dprinter.eu",
"author": { "author": {
"author_id": "Velleman", "author_id": "Velleman",
@ -1831,7 +1831,7 @@
"display_name": "Vertex Delta PLA", "display_name": "Vertex Delta PLA",
"description": "ABS material and quality files for the Delta Vertex K8800.", "description": "ABS material and quality files for the Delta Vertex K8800.",
"package_version": "1.4.0", "package_version": "1.4.0",
"sdk_version": "7.6.0", "sdk_version": "7.7.0",
"website": "https://vertex3dprinter.eu", "website": "https://vertex3dprinter.eu",
"author": { "author": {
"author_id": "Velleman", "author_id": "Velleman",
@ -1848,7 +1848,7 @@
"display_name": "Vertex Delta TPU", "display_name": "Vertex Delta TPU",
"description": "ABS material and quality files for the Delta Vertex K8800.", "description": "ABS material and quality files for the Delta Vertex K8800.",
"package_version": "1.4.0", "package_version": "1.4.0",
"sdk_version": "7.6.0", "sdk_version": "7.7.0",
"website": "https://vertex3dprinter.eu", "website": "https://vertex3dprinter.eu",
"author": { "author": {
"author_id": "Velleman", "author_id": "Velleman",

View File

@ -8,7 +8,6 @@
"author": "Jason Scurtu", "author": "Jason Scurtu",
"manufacturer": "Anycubic", "manufacturer": "Anycubic",
"file_formats": "text/x-gcode", "file_formats": "text/x-gcode",
"icon": "icon_ultimaker2",
"platform": "anycubic_4max_platform.3mf", "platform": "anycubic_4max_platform.3mf",
"has_materials": true, "has_materials": true,
"quality_definition": "anycubic_4max", "quality_definition": "anycubic_4max",

View File

@ -8,7 +8,6 @@
"author": "Patrick Glatt", "author": "Patrick Glatt",
"manufacturer": "Anycubic", "manufacturer": "Anycubic",
"file_formats": "text/x-gcode", "file_formats": "text/x-gcode",
"icon": "icon_ultimaker2",
"platform": "anycubic_chiron_platform.obj", "platform": "anycubic_chiron_platform.obj",
"platform_texture": "anycubic-chiron.png", "platform_texture": "anycubic-chiron.png",
"has_materials": true, "has_materials": true,

View File

@ -1,6 +1,6 @@
{ {
"version": 2, "version": 2,
"name": "Anycubic i3 Mega (S, Pro)", "name": "Anycubic i3 Mega S/Pro",
"inherits": "fdmprinter", "inherits": "fdmprinter",
"metadata": "metadata":
{ {
@ -21,7 +21,7 @@
"overrides": "overrides":
{ {
"machine_name": { "default_value": "Anycubic i3 Mega (S, Pro)" }, "machine_name": { "default_value": "Anycubic i3 Mega S/Pro" },
"machine_heated_bed": { "default_value": true }, "machine_heated_bed": { "default_value": true },
"machine_width": { "default_value": 210 }, "machine_width": { "default_value": 210 },
"machine_height": { "default_value": 205 }, "machine_height": { "default_value": 205 },
@ -44,7 +44,7 @@
"material_diameter": { "default_value": 1.75 }, "material_diameter": { "default_value": 1.75 },
"acceleration_print": { "value": 1800 }, "acceleration_print": { "value": 1500 },
"acceleration_travel": { "value": 3000 }, "acceleration_travel": { "value": 3000 },
"acceleration_travel_layer_0": { "value": "acceleration_travel" }, "acceleration_travel_layer_0": { "value": "acceleration_travel" },
"acceleration_roofing": { "enabled": "acceleration_enabled and roofing_layer_count > 0 and top_layers > 0" }, "acceleration_roofing": { "enabled": "acceleration_enabled and roofing_layer_count > 0 and top_layers > 0" },

View File

@ -12,6 +12,9 @@
"machine_name": { "default_value": "Anycubic i3 Mega X" }, "machine_name": { "default_value": "Anycubic i3 Mega X" },
"machine_width": { "default_value": 300 }, "machine_width": { "default_value": 300 },
"machine_height": { "default_value": 305 }, "machine_height": { "default_value": 305 },
"machine_depth": { "default_value": 300 } "machine_depth": { "default_value": 300 },
"acceleration_print": { "value": 400 },
"acceleration_travel": { "value": 400 }
} }
} }

View File

@ -0,0 +1,47 @@
{
"version": 2,
"name": "Anycubic Vyper",
"inherits": "fdmprinter",
"metadata": {
"visible": true,
"author": "ThatGuyZim",
"manufacturer": "Anycubic",
"file_formats": "text/x-gcode",
"platform": "anycubic_vyper_platform.stl",
"machine_extruder_trains": {
"0": "anycubic_vyper_extruder_0"
}
},
"overrides": {
"machine_name": {
"default_value": "Anycubic Vyper"
},
"machine_heated_bed": {
"default_value": true
},
"machine_width": {
"default_value": 250
},
"machine_height": {
"default_value": 265
},
"machine_depth": {
"default_value": 255
},
"machine_center_is_zero": {
"default_value": false
},
"gantry_height": {
"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\nM300 S1318 P266\nG28 Z0 ;move Z to min endstops\nG0 Z0.2\nG92 E0 ;zero the extruded length\nG1 X40 E25 F400 ; Extrude 25mm of filament in a 4cm line. Reduce speed (F) if you have a nozzle smaller than 0.4mm!\nG92 E0 ;zero the extruded length again\nG1 E-1 F500 ; Retract a little\nG1 X80 F4000 ; Quickly wipe away from the filament line\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, to 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, so the head is out of the way\nG1 Y180 F2000\nM84 ;steppers off\nG90\nM300 S1318 P266"
}
}
}

View File

@ -0,0 +1,44 @@
{
"version": 2,
"name": "Crazy3DPrint CZ-300",
"inherits": "fdmprinter",
"metadata": {
"visible": false,
"author": "XYZprinting Software",
"manufacturer": "Crazy3DPrint",
"file_formats": "text/x-gcode",
"first_start_actions": ["MachineSettingsAction"],
"machine_extruder_trains":
{
"0": "crazy3dprint_cz300_extruder_0"
},
"has_materials": true,
"has_variants": true,
"has_machine_quality": true,
"preferred_variant_name": "0.4mm Nozzle",
"preferred_quality_type": "normal",
"preferred_material": "generic_pla",
"variants_name": "Nozzle Size"
},
"overrides": {
"machine_heated_bed": {"default_value": true},
"machine_max_feedrate_x": { "value": 500 },
"machine_max_feedrate_y": { "value": 500 },
"machine_max_feedrate_z": { "value": 10 },
"machine_max_feedrate_e": { "value": 50 },
"machine_max_acceleration_x": { "value": 1500 },
"machine_max_acceleration_y": { "value": 1500 },
"machine_max_acceleration_z": { "value": 500 },
"machine_max_acceleration_e": { "value": 5000 },
"machine_acceleration": { "value": 500 },
"machine_max_jerk_xy": { "value": 10 },
"machine_max_jerk_z": { "value": 0.4 },
"machine_max_jerk_e": { "value": 5 }
},
"machine_gcode_flavor": {"default_value": "RepRap (Marlin/Sprinter)"},
"machine_start_gcode": {"default_value": ";Start Gcode\nG90 ;absolute positioning\nM118 X25.00 Y25.00 Z20.00 T0\nM140 S{material_bed_temperature_layer_0} T0 ;Heat bed up to first layer temperature\nM104 S{material_print_temperature_layer_0} T0 ;Set nozzle temperature to first layer temperature\nM107 ;start with the fan off\nG90\nG28\nM132 X Y Z A B\nG1 Z50.000 F420\nG161 X Y F3300\nM7 T0\nM6 T0\nM651\nM907 X100 Y100 Z40 A100 B20 ;Digital potentiometer value\nM108 T0\n;Purge line\nG1 X-110.00 Y-60.00 F4800\nG1 Z{layer_height_0} F420\nG1 X-110.00 Y60.00 E17,4 F1200\n;Purge line end"},
"machine_end_gcode": {"default_value": ";end gcode\nM104 S0 T0\nM140 S0 T0\nG162 Z F1800\nG28 X Y\nM652\nM132 X Y Z A B\nG91\nM18"
}
}

View File

@ -0,0 +1,65 @@
{
"version": 2,
"name": "Crazy3DPrint CZ-300",
"inherits": "crazy3dprint_base",
"metadata": {
"visible": true,
"author": "XYZprinting Software",
"manufacturer": "Crazy3DPrint",
"file_formats": "text/x-gcode",
"supports_usb_connection": true,
"preferred_quality_type": "normal",
"quality_definition": "crazy3dprint_base"
},
"overrides": {
"machine_name": { "default_value": "CZ-300" },
"machine_shape": { "default_value": "rectangular"},
"machine_heated_bed": { "default_value": true },
"machine_width": { "default_value": 300.00 },
"machine_depth": { "default_value": 300.00 },
"machine_height": { "default_value":300.00 },
"machine_center_is_zero": { "default_value": false },
"machine_head_with_fans_polygon": {
"default_value": [
[ -20, -10 ],
[ -20, 10 ],
[ 10, 10 ],
[ 10, -10 ]
]
},
"layer_height": { "default_value": 0.2 },
"infill_sparse_density": { "default_value": 15 },
"infill_line_distance": { "value": 2.6667 },
"infill_pattern": { "value": "'lines'" },
"infill_overlap": { "value": 8.0 },
"min_infill_area": { "default_value": 2.0 },
"retract_at_layer_change": { "default_value": true },
"default_material_print_temperature": { "default_value": 210 },
"material_print_temperature": { "value": 210 },
"material_final_print_temperature": { "value": 210 },
"material_bed_temperature": { "value": 70 },
"material_bed_temperature_layer_0": { "value": 70 },
"material_flow_layer_0": {"value": 140},
"retraction_amount": { "default_value": 10 },
"retraction_speed": { "default_value": 70 },
"speed_print": { "default_value": 40 },
"speed_travel": { "value": 60 },
"cool_fan_enabled": { "default_value": true },
"cool_fan_speed_0": { "value": 100 },
"adhesion_type": { "default_value" : "skirt" },
"brim_line_count": { "value" : 5 },
"skirt_line_count": { "default_value" : 5 },
"initial_layer_line_width_factor": { "default_value" : 140 },
"top_bottom_pattern": { "default_value" : "concentric" },
"outer_inset_first": { "default_value": true },
"fill_outline_gaps": { "default_value": true },
"machine_gcode_flavor": { "default_value": "RepRap (Marlin/Sprinter)" },
"machine_start_gcode": {
"default_value": "G28 ; home all axes\nG1 Z15 F5000 ; lift nozzle\nG92 E0\nG1 F200 E3\n"
},
"machine_end_gcode": {
"default_value": "M104 S0 ; turn off temperature\nM105 S0; \nG28 X0 ; home X axis\nM84 ; disable motors\n"
}
}
}

View File

@ -7,7 +7,6 @@
"author": "Creatable Labs", "author": "Creatable Labs",
"manufacturer": "Ateam Ventures Co. Ltd.", "manufacturer": "Ateam Ventures Co. Ltd.",
"file_formats": "text/x-gcode", "file_formats": "text/x-gcode",
"icon": "icon_ultimaker.png",
"platform": "rostock_platform.3mf", "platform": "rostock_platform.3mf",
"machine_extruder_trains": "machine_extruder_trains":
{ {

View File

@ -13,7 +13,6 @@
"has_variant_materials": false, "has_variant_materials": false,
"weight": 0, "weight": 0,
"file_formats": "text/x-gcode", "file_formats": "text/x-gcode",
"icon": "icon_ultimaker.png",
"platform": "ultimaker2_platform.obj", "platform": "ultimaker2_platform.obj",
"platform_texture": "dxu_backplate.png", "platform_texture": "dxu_backplate.png",
"platform_offset": [1.5, 0, 0], "platform_offset": [1.5, 0, 0],

View File

@ -1519,6 +1519,16 @@
"limit_to_extruder": "top_bottom_extruder_nr", "limit_to_extruder": "top_bottom_extruder_nr",
"settable_per_mesh": true "settable_per_mesh": true
}, },
"skin_monotonic":
{
"label": "Monotonic Top/Bottom Order",
"description": "Print top/bottom lines in an ordering that causes them to always overlap with adjacent lines in a single direction. This takes slightly more time to print, but makes flat surfaces look more consistent.",
"type": "bool",
"default_value": false,
"enabled": "(top_layers > 0 or bottom_layers > 0) and (top_bottom_pattern != 'concentric' or top_bottom_pattern_0 != 'concentric')",
"limit_to_extruder": "top_bottom_extruder_nr",
"settable_per_mesh": true
},
"skin_angles": "skin_angles":
{ {
"label": "Top/Bottom Line Directions", "label": "Top/Bottom Line Directions",
@ -1586,6 +1596,16 @@
"limit_to_extruder": "top_bottom_extruder_nr", "limit_to_extruder": "top_bottom_extruder_nr",
"settable_per_mesh": true "settable_per_mesh": true
}, },
"ironing_monotonic":
{
"label": "Monotonic Ironing Order",
"description": "Print ironing lines in an ordering that causes them to always overlap with adjacent lines in a single direction. This takes slightly more time to print, but makes flat surfaces look more consistent.",
"type": "bool",
"default_value": false,
"enabled": "ironing_enabled and ironing_pattern != 'concentric'",
"limit_to_extruder": "top_bottom_extruder_nr",
"settable_per_mesh": true
},
"ironing_line_spacing": "ironing_line_spacing":
{ {
"label": "Ironing Line Spacing", "label": "Ironing Line Spacing",
@ -2539,7 +2559,7 @@
"unit": "%", "unit": "%",
"default_value": 100, "default_value": 100,
"type": "float", "type": "float",
"minimum_value": "5", "minimum_value": "0.0001",
"minimum_value_warning": "50", "minimum_value_warning": "50",
"maximum_value_warning": "150", "maximum_value_warning": "150",
"enabled": "machine_gcode_flavor != \"UltiGCode\"", "enabled": "machine_gcode_flavor != \"UltiGCode\"",
@ -2554,7 +2574,7 @@
"type": "float", "type": "float",
"default_value": 100, "default_value": 100,
"value": "material_flow", "value": "material_flow",
"minimum_value": "5", "minimum_value": "0.0001",
"minimum_value_warning": "50", "minimum_value_warning": "50",
"maximum_value_warning": "150", "maximum_value_warning": "150",
"limit_to_extruder": "wall_0_extruder_nr if wall_x_extruder_nr == wall_0_extruder_nr else -1", "limit_to_extruder": "wall_0_extruder_nr if wall_x_extruder_nr == wall_0_extruder_nr else -1",
@ -2569,7 +2589,7 @@
"type": "float", "type": "float",
"default_value": 100, "default_value": 100,
"value": "wall_material_flow", "value": "wall_material_flow",
"minimum_value": "5", "minimum_value": "0.0001",
"minimum_value_warning": "50", "minimum_value_warning": "50",
"maximum_value_warning": "150", "maximum_value_warning": "150",
"limit_to_extruder": "wall_0_extruder_nr", "limit_to_extruder": "wall_0_extruder_nr",
@ -2583,7 +2603,7 @@
"type": "float", "type": "float",
"default_value": 100, "default_value": 100,
"value": "wall_material_flow", "value": "wall_material_flow",
"minimum_value": "5", "minimum_value": "0.0001",
"minimum_value_warning": "50", "minimum_value_warning": "50",
"maximum_value_warning": "150", "maximum_value_warning": "150",
"limit_to_extruder": "wall_x_extruder_nr", "limit_to_extruder": "wall_x_extruder_nr",
@ -2599,7 +2619,7 @@
"type": "float", "type": "float",
"default_value": 100, "default_value": 100,
"value": "material_flow", "value": "material_flow",
"minimum_value": "5", "minimum_value": "0.0001",
"minimum_value_warning": "50", "minimum_value_warning": "50",
"maximum_value_warning": "150", "maximum_value_warning": "150",
"enabled": "top_layers > 0 or bottom_layers > 0", "enabled": "top_layers > 0 or bottom_layers > 0",
@ -2614,7 +2634,7 @@
"type": "float", "type": "float",
"default_value": 100, "default_value": 100,
"value": "skin_material_flow", "value": "skin_material_flow",
"minimum_value": "5", "minimum_value": "0.0001",
"minimum_value_warning": "50", "minimum_value_warning": "50",
"maximum_value_warning": "150", "maximum_value_warning": "150",
"limit_to_extruder": "roofing_extruder_nr", "limit_to_extruder": "roofing_extruder_nr",
@ -2629,7 +2649,7 @@
"type": "float", "type": "float",
"default_value": 100, "default_value": 100,
"value": "material_flow", "value": "material_flow",
"minimum_value": "5", "minimum_value": "0.0001",
"minimum_value_warning": "50", "minimum_value_warning": "50",
"maximum_value_warning": "150", "maximum_value_warning": "150",
"enabled": "infill_sparse_density > 0", "enabled": "infill_sparse_density > 0",
@ -2644,7 +2664,7 @@
"type": "float", "type": "float",
"default_value": 100, "default_value": 100,
"value": "material_flow", "value": "material_flow",
"minimum_value": "5", "minimum_value": "0.0001",
"minimum_value_warning": "50", "minimum_value_warning": "50",
"maximum_value_warning": "150", "maximum_value_warning": "150",
"enabled": "resolveOrValue('adhesion_type') == 'skirt' or resolveOrValue('adhesion_type') == 'brim' or resolveOrValue('draft_shield_enabled') or resolveOrValue('ooze_shield_enabled')", "enabled": "resolveOrValue('adhesion_type') == 'skirt' or resolveOrValue('adhesion_type') == 'brim' or resolveOrValue('draft_shield_enabled') or resolveOrValue('ooze_shield_enabled')",
@ -2659,7 +2679,7 @@
"type": "float", "type": "float",
"default_value": 100, "default_value": 100,
"value": "material_flow", "value": "material_flow",
"minimum_value": "5", "minimum_value": "0.0001",
"minimum_value_warning": "50", "minimum_value_warning": "50",
"maximum_value_warning": "150", "maximum_value_warning": "150",
"enabled": "support_enable or support_meshes_present", "enabled": "support_enable or support_meshes_present",
@ -2675,7 +2695,7 @@
"type": "float", "type": "float",
"default_value": 100, "default_value": 100,
"value": "material_flow", "value": "material_flow",
"minimum_value": "5", "minimum_value": "0.0001",
"minimum_value_warning": "50", "minimum_value_warning": "50",
"maximum_value_warning": "150", "maximum_value_warning": "150",
"enabled": "(support_enable or support_meshes_present) and support_interface_enable", "enabled": "(support_enable or support_meshes_present) and support_interface_enable",
@ -2692,7 +2712,7 @@
"type": "float", "type": "float",
"default_value": 100, "default_value": 100,
"value": "extruderValue(support_roof_extruder_nr, 'support_interface_material_flow')", "value": "extruderValue(support_roof_extruder_nr, 'support_interface_material_flow')",
"minimum_value": "5", "minimum_value": "0.0001",
"minimum_value_warning": "50", "minimum_value_warning": "50",
"maximum_value_warning": "150", "maximum_value_warning": "150",
"enabled": "(support_enable or support_meshes_present) and support_roof_enable", "enabled": "(support_enable or support_meshes_present) and support_roof_enable",
@ -2708,7 +2728,7 @@
"type": "float", "type": "float",
"default_value": 100, "default_value": 100,
"value": "extruderValue(support_bottom_extruder_nr, 'support_interface_material_flow')", "value": "extruderValue(support_bottom_extruder_nr, 'support_interface_material_flow')",
"minimum_value": "5", "minimum_value": "0.0001",
"minimum_value_warning": "50", "minimum_value_warning": "50",
"maximum_value_warning": "150", "maximum_value_warning": "150",
"enabled": "(support_enable or support_meshes_present) and support_bottom_enable", "enabled": "(support_enable or support_meshes_present) and support_bottom_enable",
@ -2726,7 +2746,7 @@
"type": "float", "type": "float",
"default_value": 100, "default_value": 100,
"value": "material_flow", "value": "material_flow",
"minimum_value": "5", "minimum_value": "0.0001",
"minimum_value_warning": "50", "minimum_value_warning": "50",
"maximum_value_warning": "150", "maximum_value_warning": "150",
"settable_per_mesh": false, "settable_per_mesh": false,
@ -6385,6 +6405,17 @@
"settable_per_mesh": true, "settable_per_mesh": true,
"enabled": "roofing_layer_count > 0 and top_layers > 0" "enabled": "roofing_layer_count > 0 and top_layers > 0"
}, },
"roofing_monotonic":
{
"label": "Monotonic Top Surface Order",
"description": "Print top surface lines in an ordering that causes them to always overlap with adjacent lines in a single direction. This takes slightly more time to print, but makes flat surfaces look more consistent.",
"type": "bool",
"default_value": false,
"value": "skin_monotonic",
"enabled": "roofing_layer_count > 0 and top_layers > 0 and roofing_pattern != 'concentric'",
"limit_to_extruder": "roofing_extruder_nr",
"settable_per_mesh": true
},
"roofing_angles": "roofing_angles":
{ {
"label": "Top Surface Skin Line Directions", "label": "Top Surface Skin Line Directions",

View File

@ -1,16 +1,17 @@
{ {
"version": 2, "version": 2,
"name": "FlSun SuperRacer", "name": "Flsun Super Racer",
"inherits": "fdmprinter", "inherits": "fdmprinter",
"metadata": { "metadata": {
"visible": true, "visible": true,
"author": "Thushan Fernando", "author": "Thushan Fernando, Guislain Cyril",
"manufacturer": "Flsun", "manufacturer": "Flsun",
"platform": "flsun_sr.3mf", "platform": "flsun_sr.stl",
"platform_offset": [0,-81,-43.5],
"file_formats": "text/x-gcode", "file_formats": "text/x-gcode",
"has_materials": true, "has_materials": true,
"has_machine_quality": false, "has_machine_quality": true,
"preferred_quality_type": "fast", "preferred_quality_type": "normal",
"machine_extruder_trains": { "machine_extruder_trains": {
"0": "flsun_sr_extruder_0" "0": "flsun_sr_extruder_0"
} }
@ -26,13 +27,13 @@
"default_value": true "default_value": true
}, },
"machine_width": { "machine_width": {
"default_value": 260 "default_value": 264
}, },
"machine_depth": { "machine_depth": {
"default_value": 260 "default_value": 264
}, },
"machine_height": { "machine_height": {
"default_value": 330 "default_value": 320
}, },
"machine_center_is_zero": { "machine_center_is_zero": {
"default_value": true "default_value": true
@ -64,13 +65,13 @@
"default_value": 15 "default_value": 15
}, },
"machine_start_gcode": { "machine_start_gcode": {
"default_value": "G21\nG90\nM82\nM107 T0\nM140 S{material_bed_temperature}\nM104 S{material_print_temperature} T0\nM190 S{material_bed_temperature}\nM109 S{material_print_temperature} T0\nG28\nG92 E0\n" "default_value": "G21 ; millimeter units\nG90 ; absolute coordinates\nM82 ; E absolute\nM140 S{material_bed_temperature}\nM104 S{material_print_temperature}\nM190 S{material_bed_temperature}\nM109 S{material_print_temperature}\nG28 ; home axis\nM420 S1 ; enable mesh leveling\n; Lower nozzle and move to start position\nG1 Z150\nG1 X-130 Y0 Z0.4 F3000\n; Extrude about 40 mm by printing a 90 degree arc\nG3 X0 Y-130 I130 Z0.3 E40 F2700\n; Retract and move nozzle up\nG92 E0\nG1 E-1.5 F1800\nG0 Z0.5\nG1 E0 F300\n"
}, },
"machine_end_gcode": { "machine_end_gcode": {
"default_value": "M107 T0\nM104 S0\nM104 S0 T1\nM140 S0\nG92 E0\nG91\nG1 E-1 F300 \nG1 Z+0.5 E-5 F6000\nG28 X0 Y0\nG90 ;absolute positioning\n" "default_value": "G91 ; relative coordinates\nG1 E-1 F300 ; retract filament a bit before lifting\nG1 Z+5 E-5 F6000 ; raise platform from current position\nG28 X0 Y0 ; home axis\nG90 ; absolute coordinates\nG92 E0 ; reset extruder\nM104 S0 ; turn off hotend\nM140 S0 ; turn off heat bed\nM107 ; turn off fans\nM84 ; disable motors\n"
}, },
"machine_gcode_flavor": { "machine_gcode_flavor": {
"default_value": "RepRap (Marlin/Sprinter)" "default_value": "Marlin"
} }
} }
} }

View File

@ -0,0 +1,279 @@
{
"name": "Kingroon Base Printer",
"version": 2,
"inherits": "fdmprinter",
"metadata": {
"visible": false,
"author": "notamu",
"manufacturer": "Kingroon",
"file_formats": "text/x-gcode",
"first_start_actions": ["MachineSettingsAction"],
"machine_extruder_trains": {
"0": "kingroon_base_extruder_0"
},
"has_materials": true,
"has_variants": true,
"has_machine_quality": true,
"variants_name": "Nozzle Size",
"preferred_variant_name": "0.4mm Nozzle",
"preferred_quality_type": "standard",
"preferred_material": "generic_pla",
"exclude_materials": [
"3D-Fuel_PLA_PRO_Black",
"3D-Fuel_PLA_SnapSupport",
"bestfilament_abs_skyblue",
"bestfilament_petg_orange",
"bestfilament_pla_green",
"chromatik_pla",
"dsm_arnitel2045_175",
"dsm_novamid1070_175",
"emotiontech_abs",
"emotiontech_absx",
"emotiontech_acetate",
"emotiontech_asax",
"emotiontech_copa",
"emotiontech_nylon_1030",
"emotiontech_nylon_1030cf",
"emotiontech_nylon_1070",
"emotiontech_pc",
"emotiontech_petg",
"emotiontech_pla",
"emotiontech_pla_hr_870",
"emotiontech_bvoh",
"emotiontech_hips",
"emotiontech_pva-m",
"emotiontech_pva-s",
"emotiontech_tpu98a",
"eSUN_PLA_PRO_White",
"eSUN_PETG_Black",
"eSUN_PETG_Grey",
"eSUN_PETG_Purple",
"eSUN_PLA_PRO_Black",
"eSUN_PLA_PRO_Grey",
"eSUN_PLA_PRO_Purple",
"fabtotum_abs",
"fabtotum_nylon",
"fabtotum_pla",
"fabtotum_tpu",
"fdplast_pla_olive",
"fdplast_abs_tomato",
"fdplast_petg_gray",
"fiberlogy_hd_pla",
"filo3d_pla",
"filo3d_pla_green",
"filo3d_pla_red",
"generic_cpe_175",
"generic_hips_175",
"generic_nylon_175",
"generic_pc_175",
"generic_pva_175",
"imade3d_petg_175",
"imade3d_pla_175",
"innofill_innoflex60_175",
"layer_one_white_pla",
"layer_one_black_pla",
"layer_one_dark_gray_pla",
"leapfrog_pva_natural",
"leapfrog_abs_natural",
"leapfrog_epla_natural",
"octofiber_pla",
"polyflex_pla",
"polymax_pla",
"polyplus_pla",
"polywood_pla",
"redd_tpe",
"redd_abs",
"redd_asa",
"redd_hips",
"redd_nylon",
"redd_petg",
"redd_pla",
"tizyx_flex",
"tizyx_petg",
"tizyx_pla",
"tizyx_pla_bois",
"tizyx_pva",
"tizyx_abs",
"verbatim_bvoh_175",
"Vertex_Delta_TPU",
"Vertex_Delta_ABS",
"Vertex_Delta_PET",
"Vertex_Delta_PLA",
"Vertex_Delta_PLA_Glitter",
"Vertex_Delta_PLA_Mat",
"Vertex_Delta_PLA_Satin",
"Vertex_Delta_PLA_Wood",
"volumic_support_ultra",
"volumic_abs_ultra",
"volumic_arma_ultra",
"volumic_asa_ultra",
"volumic_br80_ultra",
"volumic_bumper_ultra",
"volumic_cu80_ultra",
"volumic_flex93_ultra",
"volumic_medical_ultra",
"volumic_nylon_ultra",
"volumic_pekk_carbone",
"volumic_petg_ultra",
"volumic_petgcarbone_ultra",
"volumic_pla_ultra",
"volumic_pp_ultra",
"volumic_strong_ultra",
"zyyx_pro_flex",
"zyyx_pro_pla"
]
},
"overrides": {
"machine_name": { "default_value": "Kingroon Base Printer" },
"machine_start_gcode": { "default_value": "G28 ; home all axes\n M117 Purge extruder\n G92 E0 ; reset extruder\n G1 Z1.0 F3000 ; move z up little to prevent scratching of surface\n G1 X2 Y20 Z0.3 F5000.0 ; move to start-line position\n G1 X2 Y175.0 Z0.3 F1500.0 E15 ; draw 1st line\n G1 X2 Y175.0 Z0.4 F5000.0 ; move to side a little\n G1 X2 Y20 Z0.4 F1500.0 E30 ; draw 2nd line\n G92 E0 ; reset extruder\n G1 Z1.0 F3000 ; move z up little to prevent scratching of surface"},
"machine_end_gcode": { "default_value": "G91; relative positioning\n G1 Z1.0 F3000 ; move z up little to prevent scratching of print\n G90; absolute positioning\n G1 X0 Y200 F1000 ; prepare for part removal\n M104 S0; turn off extruder\n M140 S0 ; turn off bed\n G1 X0 Y300 F1000 ; prepare for part removal\n M84 ; disable motors\n M106 S0 ; turn off fan" },
"machine_width": { "default_value": 180 },
"machine_depth": { "default_value": 180 },
"machine_height": { "default_value": 180 },
"machine_max_feedrate_x": { "default_value": 100 },
"machine_max_feedrate_y": { "default_value": 100 },
"machine_max_feedrate_z": { "default_value": 10 },
"machine_max_feedrate_e": { "default_value": 100 },
"machine_max_acceleration_x": { "default_value": 500 },
"machine_max_acceleration_y": { "default_value": 500 },
"machine_max_acceleration_z": { "default_value": 50 },
"machine_max_acceleration_e": { "default_value": 500 },
"machine_acceleration": { "default_value": 500 },
"machine_max_jerk_xy": { "default_value": 10 },
"machine_max_jerk_z": { "default_value": 0.3 },
"machine_max_jerk_e": { "default_value": 5 },
"machine_heated_bed": { "default_value": true },
"material_diameter": { "default_value": 1.75 },
"acceleration_print": { "value": 500 },
"acceleration_travel": { "value": 500 },
"acceleration_travel_layer_0": { "value": "acceleration_travel" },
"acceleration_roofing": { "enabled": "acceleration_enabled and roofing_layer_count > 0 and top_layers > 0" },
"jerk_print": { "value": 8 },
"jerk_travel": { "value": "jerk_print" },
"jerk_travel_layer_0": { "value": "jerk_travel" },
"acceleration_enabled": { "value": false },
"jerk_enabled": { "value": false },
"default_material_print_temperature": { "maximum_value_warning": "260", "maximum_value": "275" },
"default_material_bed_temperature": { "maximum_value": "150" },
"speed_print": { "value": 60.0 } ,
"speed_infill": { "value": "speed_print" },
"speed_wall": { "value": "speed_print / 2" },
"speed_wall_0": { "value": "speed_wall" },
"speed_wall_x": { "value": "speed_wall" },
"speed_topbottom": { "value": "speed_print / 2" },
"speed_roofing": { "value": "speed_topbottom" },
"speed_travel": { "value": "150.0 if speed_print < 60 else 250.0 if speed_print > 100 else speed_print * 2.5" },
"speed_layer_0": { "value": 20.0 },
"speed_print_layer_0": { "value": "speed_layer_0" },
"speed_travel_layer_0": { "value": "100 if speed_layer_0 < 20 else 150 if speed_layer_0 > 30 else speed_layer_0 * 5" },
"speed_prime_tower": { "value": "speed_topbottom" },
"speed_support": { "value": "speed_wall_0" },
"speed_support_interface": { "value": "speed_topbottom" },
"speed_z_hop": { "value": 5 },
"skirt_brim_speed": { "value": "speed_layer_0" },
"line_width": { "value": "machine_nozzle_size * 1.1" },
"optimize_wall_printing_order": { "value": true },
"material_initial_print_temperature": { "value": "material_print_temperature" },
"material_final_print_temperature": { "value": "material_print_temperature" },
"material_flow": { "value": 100 },
"travel_compensate_overlapping_walls_0_enabled": { "value": false },
"z_seam_type": { "value": "'back'" },
"z_seam_corner": { "value": "'z_seam_corner_none'" },
"infill_sparse_density": { "value": "15" },
"infill_pattern": { "value": "'lines' if infill_sparse_density > 50 else 'cubic'" },
"infill_before_walls": { "value": false },
"infill_overlap": { "value": 30.0 },
"skin_overlap": { "value": 10.0 },
"infill_wipe_dist": { "value": 0.0 },
"wall_0_wipe_dist": { "value": 0.0 },
"fill_perimeter_gaps": { "value": "'everywhere'" },
"fill_outline_gaps": { "value": false },
"filter_out_tiny_gaps": { "value": false },
"retraction_speed": {
"maximum_value_warning": "machine_max_feedrate_e if retraction_enable else float('inf')",
"maximum_value": 200
},
"retraction_retract_speed": {
"maximum_value_warning": "machine_max_feedrate_e if retraction_enable else float('inf')",
"maximum_value": 200
},
"retraction_prime_speed": {
"maximum_value_warning": "machine_max_feedrate_e if retraction_enable else float('inf')",
"maximum_value": 200
},
"retraction_hop_enabled": { "value": true },
"retraction_hop": { "value": "layer_height*2" },
"retraction_combing": { "value": "'off' if retraction_hop_enabled else 'infill'" },
"retraction_combing_max_distance": { "value": 30 },
"travel_avoid_other_parts": { "value": true },
"travel_avoid_supports": { "value": true },
"travel_retract_before_outer_wall": { "value": true },
"retraction_amount": { "value": 2 },
"retraction_enable": { "value": true },
"retraction_count_max": { "value": 100 },
"retraction_extrusion_window": { "value": 2 },
"retraction_min_travel": { "value": 1.5 },
"cool_fan_full_at_height": { "value": "layer_height_0 + 2 * layer_height" },
"cool_fan_enabled": { "value": true },
"cool_min_layer_time": { "value": 10 },
"adhesion_type": { "value": "'none' if support_enable else 'skirt'" },
"brim_replaces_support": { "value": false },
"skirt_gap": { "value": 10.0 },
"skirt_line_count": { "value": 4 },
"adaptive_layer_height_variation": { "value": 0.04 },
"adaptive_layer_height_variation_step": { "value": 0.04 },
"meshfix_maximum_resolution": { "value": "0.05" },
"meshfix_maximum_travel_resolution": { "value": "meshfix_maximum_resolution" },
"support_angle": { "value": "math.floor(math.degrees(math.atan(line_width / 2.0 / layer_height)))" },
"support_pattern": { "value": "'zigzag'" },
"support_infill_rate": { "value": "0 if support_enable and support_structure == 'tree' else 20" },
"support_use_towers": { "value": false },
"support_xy_distance": { "value": "wall_line_width_0 * 2" },
"support_xy_distance_overhang": { "value": "wall_line_width_0" },
"support_z_distance": { "value": "layer_height if layer_height >= 0.16 else layer_height * 2" },
"support_xy_overrides_z": { "value": "'xy_overrides_z'" },
"support_wall_count": { "value": 1 },
"support_brim_enable": { "value": true },
"support_brim_width": { "value": 4 },
"support_interface_enable": { "value": true },
"support_interface_height": { "value": "layer_height * 4" },
"support_interface_density": { "value": 33.333 },
"support_interface_pattern": { "value": "'grid'" },
"support_interface_skip_height": { "value": 0.2 },
"minimum_support_area": { "value": 2 },
"minimum_interface_area": { "value": 10 },
"top_bottom_thickness": {"value": "layer_height_0 + layer_height * 3" },
"wall_thickness": {"value": "line_width * 2" }
}
}

View File

@ -0,0 +1,22 @@
{
"name": "Kingroon KP3",
"version": 2,
"inherits": "kingroon_base",
"overrides": {
"machine_name": { "default_value": "Kingroon KP3" },
"machine_steps_per_mm_x": { "value": 80 },
"machine_steps_per_mm_y": { "value": 80 },
"machine_steps_per_mm_z": { "value": 400 },
"machine_steps_per_mm_e": { "value": 95 },
"retraction_amount": { "value": 4 },
"retraction_speed": { "value": 40 },
"retraction_extrusion_window": { "value": 4 },
"speed_travel": { "value": 100 }
},
"metadata": {
"quality_definition": "kingroon_base",
"visible": true,
"platform": "kingroon_kp3.stl"
}
}

View File

@ -0,0 +1,33 @@
{
"name": "Kingroon KP3S",
"version": 2,
"inherits": "kingroon_base",
"overrides": {
"machine_name": { "default_value": "Kingroon KP3S" },
"machine_steps_per_mm_x": { "value": 160 },
"machine_steps_per_mm_y": { "value": 160 },
"machine_steps_per_mm_z": { "value": 800 },
"machine_steps_per_mm_e": { "value": 764 },
"machine_max_feedrate_x": { "value": 200 },
"machine_max_feedrate_y": { "value": 200 },
"machine_max_feedrate_z": { "value": 4 },
"machine_max_feedrate_e": { "value": 100 },
"machine_max_acceleration_x": { "value": 1000 },
"machine_max_acceleration_y": { "value": 1000 },
"machine_max_acceleration_z": { "value": 100 },
"machine_max_acceleration_e": { "value": 1000 },
"machine_acceleration": { "value": 1000 },
"machine_max_jerk_xy": { "value": 15 },
"machine_max_jerk_z": { "value": 0.4 },
"retraction_amount": { "value": 1 },
"retraction_speed": { "value": 40 },
"retraction_extrusion_window": { "value": 1 },
"speed_z_hop": { "value": 4 }
},
"metadata": {
"quality_definition": "kingroon_base",
"visible": true,
"platform": "kingroon_kp3s.stl"
}
}

View File

@ -0,0 +1,59 @@
{
"version": 2,
"name": "SecKit SK-Go",
"inherits": "fdmprinter",
"metadata": {
"visible": true,
"author": "Ernest Lin",
"manufacturer": "SecKit 3DP Design",
"file_formats": "text/x-gcode",
"has_materials": true,
"has_machine_quality": false,
"preferred_quality_type": "normal",
"machine_extruder_trains":
{
"0": "seckit_skgo_extruder_0"
}
},
"overrides": {
"machine_name": { "default_value": "SecKit SK-Go" },
"machine_width": {
"default_value": 310
},
"machine_depth": {
"default_value": 310
},
"machine_height": {
"default_value": 350
},
"machine_center_is_zero": {
"default_value": false
},
"machine_heated_bed": {
"default_value": true
},
"machine_head_with_fans_polygon":
{
"default_value": [
[ -10, 20 ],
[ -10, -20 ],
[ 10, 20 ],
[ 10, -20 ]
]
},
"gantry_height": {
"value": "50"
},
"machine_gcode_flavor": {
"default_value": "RepRap (Marlin/Sprinter)"
},
"machine_start_gcode": {
"default_value": "M569 S1 X Y ; enable StealthChop for Sensorless Homing\nG28 ; Home\nM569 S0 X Y ; disable StealthChop for normal print\nM900 K0.07 ; K factor of linear advance\nG1 Z15.0 F6000 ;Move the platform down 15mm\n;Prime the extruder\nG92 E0\nG1 F200 E3\nG92 E0\nG90 ; abs position"
},
"machine_end_gcode": {
"default value": "M104 S0\nM140 S0\nG91 ; relative position\nG1 Z10 F450\n;Retract the filament\nG92 E1\nG1 E-1 F300\nG90 ; abs position\nG1 X10 Y280 F6000\nM84"
}
}
}

View File

@ -0,0 +1,59 @@
{
"version": 2,
"name": "SecKit SK-Tank",
"inherits": "fdmprinter",
"metadata": {
"visible": true,
"author": "Ernest Lin",
"manufacturer": "SecKit 3DP Design",
"file_formats": "text/x-gcode",
"has_materials": true,
"has_machine_quality": false,
"preferred_quality_type": "normal",
"machine_extruder_trains":
{
"0": "seckit_sktank_extruder_0"
}
},
"overrides": {
"machine_name": { "default_value": "SecKit SK-Tank" },
"machine_width": {
"default_value": 350
},
"machine_depth": {
"default_value": 350
},
"machine_height": {
"default_value": 400
},
"machine_center_is_zero": {
"default_value": false
},
"machine_heated_bed": {
"default_value": true
},
"machine_head_with_fans_polygon":
{
"default_value": [
[ -10, 20 ],
[ -10, -20 ],
[ 10, 20 ],
[ 10, -20 ]
]
},
"gantry_height": {
"value": "50"
},
"machine_gcode_flavor": {
"default_value": "RepRap (RepRap)"
},
"machine_start_gcode": {
"default_value": "G32 ;auto bed tramming and find a correct Z datum\nG29 S1 ;load default mesh\nM572 D0 S0.08 ; Pressure advance\nG1 Z15.0 F6000 ;Move the platform down 15mm\n;Prime the extruder\nG92 E0\nG1 F200 E3\nG92 E0"
},
"machine_end_gcode": {
"default value": "M104 S0\nM140 S0\n;Retract the filament\nG92 E1\nG1 E-1 F300\nG90\nG1 X2 Y300 F6000\n; move bed to the bottom to prevent bed falls\n;G91\n;G1 Z300\nM106 P0 S0\nM18"
}
}
}

View File

@ -22,8 +22,7 @@
"0": "ultimaker2_plus_connect_extruder_0" "0": "ultimaker2_plus_connect_extruder_0"
}, },
"supports_usb_connection": false, "supports_usb_connection": false,
"supports_network_connection": true, "supports_network_connection": true
"supports_material_export": true
}, },
"overrides": { "overrides": {

View File

@ -32,7 +32,7 @@
[ [
"https://software.ultimaker.com/releases/firmware/9066/stable/um-update.swu.version" "https://software.ultimaker.com/releases/firmware/9066/stable/um-update.swu.version"
], ],
"update_url": "https://ultimaker.com/firmware" "update_url": "https://ultimaker.com/firmware?utm_source=cura&utm_medium=software&utm_campaign=fw-update"
}, },
"bom_numbers": [ "bom_numbers": [
9066 9066

View File

@ -29,7 +29,7 @@
[ [
"https://software.ultimaker.com/releases/firmware/9066/stable/um-update.swu.version" "https://software.ultimaker.com/releases/firmware/9066/stable/um-update.swu.version"
], ],
"update_url": "https://ultimaker.com/firmware" "update_url": "https://ultimaker.com/firmware?utm_source=cura&utm_medium=software&utm_campaign=fw-update"
}, },
"bom_numbers": [ "bom_numbers": [
9511 9511

View File

@ -32,7 +32,7 @@
"firmware_update_info": { "firmware_update_info": {
"id": 213482, "id": 213482,
"check_urls": ["https://software.ultimaker.com/releases/firmware/213482/stable/um-update.swu.version"], "check_urls": ["https://software.ultimaker.com/releases/firmware/213482/stable/um-update.swu.version"],
"update_url": "https://ultimaker.com/firmware" "update_url": "https://ultimaker.com/firmware?utm_source=cura&utm_medium=software&utm_campaign=fw-update"
}, },
"bom_numbers": [ "bom_numbers": [
213482 213482

View File

@ -33,7 +33,7 @@
"firmware_update_info": { "firmware_update_info": {
"id": 9051, "id": 9051,
"check_urls": ["https://software.ultimaker.com/releases/firmware/9051/stable/um-update.swu.version"], "check_urls": ["https://software.ultimaker.com/releases/firmware/9051/stable/um-update.swu.version"],
"update_url": "https://ultimaker.com/firmware" "update_url": "https://ultimaker.com/firmware?utm_source=cura&utm_medium=software&utm_campaign=fw-update"
}, },
"bom_numbers": [ "bom_numbers": [
9051, 214475 9051, 214475

View File

@ -0,0 +1,293 @@
{
"version": 2,
"name": "Weedo X40",
"inherits": "fdmprinter",
"metadata": {
"author": "X40-Community.org",
"manufacturer": "Weedo",
"visible": true,
"file_formats": "text/x-gcode",
"platform": "weedo_x40.3mf",
"platform_offset": [ 0, 193, 35],
"has_machine_quality": true,
"has_materials": true,
"has_variants": true,
"preferred_material": "generic_pla_175",
"exclude_materials": [
"3D-Fuel_PLA_PRO_Black",
"3D-Fuel_PLA_SnapSupport",
"bestfilament_abs_skyblue",
"bestfilament_petg_orange",
"bestfilament_pla_green",
"leapfrog_abs_natural",
"leapfrog_epla_natural",
"leapfrog_pva_natural",
"generic_pc_175",
"generic_nylon_175",
"goofoo_abs",
"goofoo_asa",
"goofoo_bronze_pla",
"goofoo_emarble_pla",
"goofoo_esilk_pla",
"goofoo_hips",
"goofoo_pa_cf",
"goofoo_pa",
"goofoo_pc",
"goofoo_peek",
"goofoo_petg",
"goofoo_pla",
"goofoo_pva",
"goofoo_tpe_83a",
"goofoo_tpu_87a",
"goofoo_tpu_95a",
"goofoo_wood_pla",
"emotiontech_abs",
"emotiontech_absx",
"emotiontech_acetate",
"emotiontech_asax",
"emotiontech_bvoh",
"emotiontech_copa",
"emotiontech_hips",
"emotiontech_nylon_1030",
"emotiontech_nylon_1030cf",
"emotiontech_nylon_1070",
"emotiontech_pc",
"emotiontech_pekk",
"emotiontech_petg",
"emotiontech_pla",
"emotiontech_pla_hr_870",
"emotiontech_pva-m",
"emotiontech_pva-s",
"emotiontech_tpu98a",
"eryone_petg",
"eryone_pla_glow",
"eryone_pla_matte",
"eryone_pla_wood",
"eryone_pla",
"eSUN_PETG_Black",
"eSUN_PETG_Grey",
"eSUN_PETG_Purple",
"eSUN_PLA_PRO_Black",
"eSUN_PLA_PRO_Grey",
"eSUN_PLA_PRO_Purple",
"eSUN_PLA_PRO_White",
"Vertex_Delta_ABS",
"Vertex_Delta_PET",
"Vertex_Delta_PLA",
"Vertex_Delta_TPU",
"chromatik_pla",
"dsm_arnitel2045_175",
"dsm_novamid1070_175",
"fabtotum_abs",
"fabtotum_nylon",
"fabtotum_pla",
"fabtotum_tpu",
"fdplast_abs_tomato",
"fdplast_petg_gray",
"fdplast_pla_olive",
"fiberlogy_hd_pla",
"filo3d_pla",
"filo3d_pla_green",
"filo3d_pla_red",
"imade3d_petg_green",
"imade3d_petg_pink",
"imade3d_pla_green",
"imade3d_pla_pink",
"imade3d_petg_175",
"imade3d_pla_175",
"innofill_innoflex60_175",
"layer_one_black_pla",
"layer_one_dark_gray_pla",
"layer_one_white_pla",
"octofiber_pla",
"polyflex_pla",
"polymax_pla",
"polyplus_pla",
"polywood_pla",
"redd_abs",
"redd_asa",
"redd_hips",
"redd_nylon",
"redd_petg",
"redd_pla",
"redd_tpe",
"tizyx_abs",
"tizyx_flex",
"tizyx_petg",
"tizyx_pla_bois",
"tizyx_pla",
"tizyx_pva",
"Vertex_Delta_ABS",
"Vertex_Delta_PET",
"Vertex_Delta_PLA_Glitter",
"Vertex_Delta_PLA_Mat",
"Vertex_Delta_PLA_Satin",
"Vertex_Delta_PLA_Wood",
"Vertex_Delta_PLA",
"Vertex_Delta_TPU",
"volumic_abs_ultra",
"volumic_arma_ultra",
"volumic_asa_ultra",
"volumic_br80_ultra",
"volumic_bumper_ultra",
"volumic_cu80_ultra",
"volumic_flex93_ultra",
"volumic_medical_ultra",
"volumic_nylon_ultra",
"volumic_pekk_carbone",
"volumic_petg_ultra",
"volumic_petgcarbone_ultra",
"volumic_pla_ultra",
"volumic_pp_ultra",
"volumic_strong_ultra",
"volumic_support_ultra",
"zyyx_pro_flex",
"zyyx_pro_pla"
],
"preferred_variant_name": "0.4mm Nozzle",
"preferred_quality_type": "normal",
"variants_name": "Nozzle Type",
"machine_extruder_trains":
{
"0": "weedo_x40_extruder_left_0",
"1": "weedo_x40_extruder_right_0"
}
},
"overrides": {
"machine_name": { "default_value": "Weedo X40" },
"machine_width": { "default_value": 300 },
"machine_depth": { "default_value": 300 },
"machine_height": { "default_value": 400 },
"machine_heated_bed": { "default_value": true },
"machine_nozzle_heat_up_speed": { "default_value": 1.6 },
"machine_nozzle_cool_down_speed": { "default_value": 0.75 },
"machine_head_with_fans_polygon":
{
"default_value":
[
[ -42.5, 18 ],
[ -42.5, -50 ],
[ 24.5, 18 ],
[ 24.5, -50.0 ]
]
},
"machine_max_feedrate_x": { "value": 500 },
"machine_max_feedrate_y": { "value": 500 },
"machine_max_feedrate_z": { "value": 10 },
"machine_max_feedrate_e": { "value": 50 },
"machine_acceleration": { "value": 500 },
"machine_max_acceleration_x": { "value": 500 },
"machine_max_acceleration_y": { "value": 500 },
"machine_max_acceleration_z": { "value": 100 },
"machine_max_acceleration_e": { "value": 5000 },
"gantry_height": { "value": "12" },
"machine_extruder_count": { "default_value": 2 },
"machine_start_gcode": {"default_value": "; x40-community.org configuration Rev. 08\n;(**** start.gcode for WEEDO X40 DUAL****)\nT{initial_extruder_nr} S ; Selected start extruder\nM140 S{material_bed_temperature_layer_0} ; Preheat bed\nM109 S{material_print_temperature_layer_0}; Preheat nozzle\nM73 P0 ; Set current print progress percentage\nG21 ; Millimeter Units\nG90 ; Absolute positioning\nM82 ; Extruder in absolute mode\nT0 S ; Select left extruder\nM301 H1 P15.53 I1.32 D45.75 ; PID left extruder with Weedo X40 coolingsystem\n;M301 H1 P13.32 I0.98 D45.13 ; PID left extruder with X40 Community coolingsystem\nM92 E94.90 ; Calibrate left extruder\nT1 S ; Select right extruder\nM301 H1 P15.44 I1.29 D46.11 ; PID right extruder with Weedo X40 coolingsystem\n;M301 H1 P13.32 I0.98 D45.13 ; PID right extruder with X40 Community coolingsystem\nM92 E94.90 ; Calibrate right extruder\nT0 S ; Select left extruder\nG28 ; Auto home\nG29 ; Bed Leveling\nG1 X-47 F3000 ; Move left nozzle to parking position\nT1 S ; select right extruder\nG1 X351 F3000 ; Move right nozzle to parking position\nM107 P0 ; Turn off left fan\nM107 P1 ; Turn off right fan\nT{initial_extruder_nr} S ; Set start extruder\nM190 S{material_bed_temperature_layer_0} ; Waiting for bed temperature\nG1 E50 F100 ; Extrude in parking position\nM77 ; Stop heat up timer\nM75 ; Start print timer\n"
},
"machine_end_gcode": {"default_value": "(*********end X40 End.gcode*******)\nG28 X Y F3000\nG91 ; Relative positioning\nG1 E-6 ; Reduce filament pressure\nG90 ; Absolute positioning\nG0 Y300 F3000 ; Move headbed\nM104 S0 T0 ; Cool down left extruder\nM104 S0 T1 ; Cool down right extruder\nM140 S0 ; Cool down heatbed\nM107 P0 ; Turn off left fan\nM107 P1 ; Turn off right fan\nM82; Extruder in absolute mode\nM73 P100 ; Set print progress to 100%" },
"speed_travel":
{
"maximum_value": "150",
"value": "150"
},
"acceleration_enabled": { "value": false },
"acceleration_print": { "value": 1000 },
"acceleration_support": { "value": "math.ceil(acceleration_print * 2000 / 4000)" },
"acceleration_support_interface": { "value": "acceleration_topbottom" },
"acceleration_topbottom": { "value": "math.ceil(acceleration_print * 500 / 4000)" },
"acceleration_wall": { "value": "math.ceil(acceleration_print * 1000 / 4000)" },
"acceleration_wall_0": { "value": "math.ceil(acceleration_wall * 500 / 1000)" },
"acceleration_travel": { "value": 2000 },
"acceleration_travel_layer_0": { "value": "acceleration_travel / 2" },
"acceleration_roofing": { "enabled": "acceleration_enabled and roofing_layer_count > 0 and top_layers > 0" },
"adhesion_type": { "value": "'brim'" },
"brim_width": { "value": "8" },
"bridge_settings_enabled": { "default_value": true },
"cool_fan_full_at_height": { "value": "layer_height_0 + 2 * layer_height" },
"cool_fan_speed": { "value": "50" },
"cool_fan_speed_max": { "value": "100" },
"cool_min_speed": { "value": "7" },
"fill_perimeter_gaps": { "value": "'everywhere'" },
"fill_outline_gaps": { "value": false },
"filter_out_tiny_gaps": { "value": false },
"infill_line_width": { "value": "round(line_width * 0.42 / 0.35, 2)" },
"infill_overlap": { "value": 30.0 },
"infill_pattern": { "value": "'lines' if infill_sparse_density > 50 else 'cubic'" },
"infill_wipe_dist": { "value": 0.0 },
"infill_sparse_density": { "value": "20" },
"infill_before_walls": { "value": false },
"jerk_enabled": { "value": false },
"jerk_print": { "value": 11 },
"jerk_wall": { "value": "jerk_print - 2" },
"jerk_travel": { "value": 18 },
"jerk_travel_layer_0": { "value": "jerk_travel" },
"layer_height_0": { "value": "round(layer_height * 1.5, 2)" },
"line_width": { "value": "machine_nozzle_size" },
"machine_min_cool_heat_time_window": { "default_value": 360 },
"machine_max_jerk_xy": { "value": 10 },
"machine_max_jerk_z": { "value": 0.4 },
"machine_max_jerk_e": { "value": 5 },
"machine_center_is_zero": { "default_value": false },
"material_diameter": { "default_value": 1.75 },
"material_flow": { "value": 100 },
"material_standby_temperature": { "value": "100" },
"material_print_temp_prepend": { "default_value":false },
"prime_tower_enable": { "default_value": false },
"raft_airgap": { "default_value": 0.22 },
"raft_base_speed":{ "value": 20 },
"raft_interface_speed": { "value": 33 },
"raft_margin": { "default_value": 8 },
"retraction_enable": { "value": true },
"retraction_amount": { "default_value": 4.5 },
"retraction_count_max": { "value": 100 },
"retraction_extrusion_window": { "value": 8 },
"retraction_hop": { "value": 0.5 },
"retraction_hop_enabled": { "value": "False" },
"retraction_min_travel": { "value": 1.5 },
"skin_overlap": { "value": 10.0 },
"speed_layer_0": { "value": "round(speed_print / 2.5, 2)" },
"speed_print": { "value": 50.0 },
"speed_support": { "value": "speed_wall_0" },
"speed_support_interface": { "value": "speed_print" },
"speed_topbottom": { "value": "speed_print / 2" },
"speed_wall": { "value": "speed_print / 2" },
"speed_wall_0": { "value": "speed_wall" },
"speed_wall_x": { "value": "speed_wall" },
"speed_infill": { "value": "speed_print" },
"speed_support_infill": { "value": 58.0 },
"speed_print_layer_0": { "value": "speed_layer_0" },
"speed_travel_layer_0": { "value": 60 },
"speed_support_roof": { "value": 39.0 },
"speed_support_bottom": { "value": 39.0 },
"speed_roofing": { "value": 30.0 },
"support_angle": { "default_value": 45 },
"support_pattern": { "value": "'zigzag'" },
"support_use_towers": { "value": true },
"support_fan_enable": { "value": true },
"support_xy_distance": { "value": "wall_line_width_0 * 2" },
"support_xy_distance_overhang": { "value": "wall_line_width_0" },
"support_z_distance": { "value": "layer_height if layer_height >= 0.16 else layer_height*2" },
"support_supported_skin_fan_speed": { "value": 100 },
"switch_extruder_retraction_amount": { "value": 0 },
"travel_compensate_overlapping_walls_0_enabled": { "value": "False" },
"travel_avoid_other_parts": { "value": true },
"travel_retract_before_outer_wall": { "value": true },
"top_bottom_thickness": {"value": "line_width * 2" },
"travel_avoid_supports": { "value": true },
"wall_thickness": {"value": "line_width * 2" },
"wall_0_wipe_dist": { "value": 0.0 },
"meshfix_maximum_resolution": { "value": "0.25" },
"optimize_wall_printing_order": { "value": "True" },
"ooze_shield_enabled":{ "default_value":false },
"ooze_shield_dist":{ "default_value":3.0 },
"retraction_combing": { "value": "'off' if retraction_hop_enabled else 'noskin'" },
"retraction_combing_max_distance": { "value": 30 },
"retraction_speed": { "default_value": 28 },
"z_seam_type": { "value": "'back'" },
"z_seam_corner": { "value": "'z_seam_corner_weighted'" }
}
}

View File

@ -0,0 +1,20 @@
{
"version": 2,
"name": "Extruder 1",
"inherits": "fdmextruder",
"metadata": {
"machine": "anycubic_vyper",
"position": "0"
},
"overrides": {
"extruder_nr": {
"default_value": 0
},
"machine_nozzle_size": {
"default_value": 0.4
},
"material_diameter": {
"default_value": 1.75
}
}
}

View File

@ -0,0 +1,15 @@
{
"version": 2,
"name": "Extruder 1",
"inherits": "fdmextruder",
"metadata": {
"machine": "crazy3dprint_base",
"position": "0"
},
"overrides": {
"extruder_nr": { "default_value": 0 },
"machine_nozzle_size": { "default_value": 0.4 },
"material_diameter": { "default_value": 1.75 }
}
}

View File

@ -0,0 +1,16 @@
{
"version": 2,
"name": "Extruder 1",
"inherits": "fdmextruder",
"metadata": {
"machine": "kingroon_base",
"position": "0"
},
"overrides": {
"extruder_nr": { "default_value": 0 },
"machine_nozzle_size": { "default_value": 0.4 },
"material_diameter": { "default_value": 1.75 }
}
}

View File

@ -0,0 +1,15 @@
{
"version": 2,
"name": "Extruder 1",
"inherits": "fdmextruder",
"metadata": {
"machine": "seckit_skgo",
"position": "0"
},
"overrides": {
"extruder_nr": { "default_value": 0 },
"machine_nozzle_size": { "default_value": 0.4 },
"material_diameter": { "default_value": 1.75 }
}
}

View File

@ -0,0 +1,15 @@
{
"version": 2,
"name": "Extruder 1",
"inherits": "fdmextruder",
"metadata": {
"machine": "seckit_sktank",
"position": "0"
},
"overrides": {
"extruder_nr": { "default_value": 0 },
"machine_nozzle_size": { "default_value": 0.4 },
"material_diameter": { "default_value": 1.75 }
}
}

View File

@ -0,0 +1,22 @@
{
"version": 2,
"name": "Extruder Left",
"inherits": "fdmextruder",
"metadata": {
"machine": "weedo_x40",
"position": "0",
"quality_definition": "weedo_x40_extruder_left_0"
},
"overrides": {
"extruder_nr": {
"default_value": 0,
"maximum_value": "1"
},
"machine_nozzle_size": { "default_value": 0.4 },
"material_diameter": { "default_value": 1.75 },
"machine_nozzle_offset_x": { "default_value": 0 },
"machine_nozzle_offset_y": { "default_value": 0 },
"machine_extruder_start_code": { "default_value": "; left extruder start code\n"}
}
}

View File

@ -0,0 +1,22 @@
{
"version": 2,
"name": "Extruder Right",
"inherits": "fdmextruder",
"metadata": {
"machine": "weedo_x40",
"position": "1",
"quality_definition": "weedo_x40_extruder_right_0"
},
"overrides": {
"extruder_nr": {
"default_value": 1,
"maximum_value": "1"
},
"machine_nozzle_size": { "default_value": 0.4 },
"material_diameter": { "default_value": 1.75 },
"machine_nozzle_offset_x": { "default_value": 0 },
"machine_nozzle_offset_y": { "default_value": 0 },
"machine_extruder_start_code": { "default_value": "; right extruder start code\n"}
}
}

File diff suppressed because it is too large Load Diff

View File

@ -5,9 +5,9 @@
# #
msgid "" msgid ""
msgstr "" msgstr ""
"Project-Id-Version: Cura 4.10\n" "Project-Id-Version: Cura 4.11\n"
"Report-Msgid-Bugs-To: r.dulek@ultimaker.com\n" "Report-Msgid-Bugs-To: r.dulek@ultimaker.com\n"
"POT-Creation-Date: 2021-06-10 17:35+0000\n" "POT-Creation-Date: 2021-08-11 09:58+0000\n"
"PO-Revision-Date: 2020-02-20 17:30+0100\n" "PO-Revision-Date: 2020-02-20 17:30+0100\n"
"Last-Translator: DenyCZ <www.github.com/DenyCZ>\n" "Last-Translator: DenyCZ <www.github.com/DenyCZ>\n"
"Language-Team: DenyCZ <www.github.com/DenyCZ>\n" "Language-Team: DenyCZ <www.github.com/DenyCZ>\n"

View File

@ -5,9 +5,9 @@
# #
msgid "" msgid ""
msgstr "" msgstr ""
"Project-Id-Version: Cura 4.10\n" "Project-Id-Version: Cura 4.11\n"
"Report-Msgid-Bugs-To: r.dulek@ultimaker.com\n" "Report-Msgid-Bugs-To: r.dulek@ultimaker.com\n"
"POT-Creation-Date: 2021-06-10 17:35+0000\n" "POT-Creation-Date: 2021-08-11 09:58+0000\n"
"PO-Revision-Date: 2021-04-04 19:37+0200\n" "PO-Revision-Date: 2021-04-04 19:37+0200\n"
"Last-Translator: Miroslav Šustek <sustmidown@centrum.cz>\n" "Last-Translator: Miroslav Šustek <sustmidown@centrum.cz>\n"
"Language-Team: DenyCZ <www.github.com/DenyCZ>\n" "Language-Team: DenyCZ <www.github.com/DenyCZ>\n"
@ -685,8 +685,8 @@ msgstr "Kroků za milimetr (E)"
#: fdmprinter.def.json #: fdmprinter.def.json
msgctxt "machine_steps_per_mm_e description" msgctxt "machine_steps_per_mm_e description"
msgid "How many steps of the stepper motors will result in one millimeter of extrusion." msgid "How many steps of the stepper motors will result in moving the feeder wheel by one millimeter around its circumference."
msgstr "Kolik kroků krokových motorů vyústí v jeden milimetr vytlačování." msgstr ""
#: fdmprinter.def.json #: fdmprinter.def.json
msgctxt "machine_endstop_positive_direction_x label" msgctxt "machine_endstop_positive_direction_x label"
@ -1433,6 +1433,16 @@ 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." 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 "Propojte horní / dolní povrchové cesty tam, kde běží vedle sebe. Pro soustředné uspořádání umožňující toto nastavení výrazně zkracuje dobu cestování, ale protože se spojení může uskutečnit uprostřed výplně, může tato funkce snížit kvalitu povrchu." msgstr "Propojte horní / dolní povrchové cesty tam, kde běží vedle sebe. Pro soustředné uspořádání umožňující toto nastavení výrazně zkracuje dobu cestování, ale protože se spojení může uskutečnit uprostřed výplně, může tato funkce snížit kvalitu povrchu."
#: fdmprinter.def.json
msgctxt "skin_monotonic label"
msgid "Monotonic Top/Bottom Order"
msgstr ""
#: fdmprinter.def.json
msgctxt "skin_monotonic description"
msgid "Print top/bottom lines in an ordering that causes them to always overlap with adjacent lines in a single direction. This takes slightly more time to print, but makes flat surfaces look more consistent."
msgstr ""
#: fdmprinter.def.json #: fdmprinter.def.json
msgctxt "skin_angles label" msgctxt "skin_angles label"
msgid "Top/Bottom Line Directions" msgid "Top/Bottom Line Directions"
@ -1503,6 +1513,16 @@ msgctxt "ironing_pattern option zigzag"
msgid "Zig Zag" msgid "Zig Zag"
msgstr "Zig Zag" msgstr "Zig Zag"
#: fdmprinter.def.json
msgctxt "ironing_monotonic label"
msgid "Monotonic Ironing Order"
msgstr ""
#: fdmprinter.def.json
msgctxt "ironing_monotonic description"
msgid "Print ironing lines in an ordering that causes them to always overlap with adjacent lines in a single direction. This takes slightly more time to print, but makes flat surfaces look more consistent."
msgstr ""
#: fdmprinter.def.json #: fdmprinter.def.json
msgctxt "ironing_line_spacing label" msgctxt "ironing_line_spacing label"
msgid "Ironing Line Spacing" msgid "Ironing Line Spacing"
@ -5301,6 +5321,16 @@ msgctxt "roofing_pattern option zigzag"
msgid "Zig Zag" msgid "Zig Zag"
msgstr "Zig Zag" msgstr "Zig Zag"
#: fdmprinter.def.json
msgctxt "roofing_monotonic label"
msgid "Monotonic Top Surface Order"
msgstr ""
#: fdmprinter.def.json
msgctxt "roofing_monotonic description"
msgid "Print top surface lines in an ordering that causes them to always overlap with adjacent lines in a single direction. This takes slightly more time to print, but makes flat surfaces look more consistent."
msgstr ""
#: fdmprinter.def.json #: fdmprinter.def.json
msgctxt "roofing_angles label" msgctxt "roofing_angles label"
msgid "Top Surface Skin Line Directions" msgid "Top Surface Skin Line Directions"
@ -6400,6 +6430,10 @@ msgctxt "mesh_rotation_matrix description"
msgid "Transformation matrix to be applied to the model when loading it from file." msgid "Transformation matrix to be applied to the model when loading it from file."
msgstr "Transformační matice, která se použije na model při načítání ze souboru." msgstr "Transformační matice, která se použije na model při načítání ze souboru."
#~ msgctxt "machine_steps_per_mm_e description"
#~ msgid "How many steps of the stepper motors will result in one millimeter of extrusion."
#~ msgstr "Kolik kroků krokových motorů vyústí v jeden milimetr vytlačování."
#~ msgctxt "retraction_combing_max_distance description" #~ msgctxt "retraction_combing_max_distance description"
#~ msgid "When non-zero, combing travel moves that are longer than this distance will use retraction." #~ msgid "When non-zero, combing travel moves that are longer than this distance will use retraction."
#~ msgstr "Pokud nenulové, pohyby combingového pohybu, které jsou delší než tato vzdálenost, použijí zatažení." #~ msgstr "Pokud nenulové, pohyby combingového pohybu, které jsou delší než tato vzdálenost, použijí zatažení."

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -4,9 +4,9 @@
# #
msgid "" msgid ""
msgstr "" msgstr ""
"Project-Id-Version: Cura 4.10\n" "Project-Id-Version: Cura 4.11\n"
"Report-Msgid-Bugs-To: r.dulek@ultimaker.com\n" "Report-Msgid-Bugs-To: r.dulek@ultimaker.com\n"
"POT-Creation-Date: 2021-06-10 17:35+0000\n" "POT-Creation-Date: 2021-08-11 09:58+0000\n"
"PO-Revision-Date: 2021-04-16 15:15+0200\n" "PO-Revision-Date: 2021-04-16 15:15+0200\n"
"Last-Translator: Bothof <info@bothof.nl>\n" "Last-Translator: Bothof <info@bothof.nl>\n"
"Language-Team: German\n" "Language-Team: German\n"

View File

@ -4,9 +4,9 @@
# #
msgid "" msgid ""
msgstr "" msgstr ""
"Project-Id-Version: Cura 4.10\n" "Project-Id-Version: Cura 4.11\n"
"Report-Msgid-Bugs-To: r.dulek@ultimaker.com\n" "Report-Msgid-Bugs-To: r.dulek@ultimaker.com\n"
"POT-Creation-Date: 2021-06-10 17:35+0000\n" "POT-Creation-Date: 2021-08-11 09:58+0000\n"
"PO-Revision-Date: 2021-04-16 15:16+0200\n" "PO-Revision-Date: 2021-04-16 15:16+0200\n"
"Last-Translator: Lionbridge <info@lionbridge.com>\n" "Last-Translator: Lionbridge <info@lionbridge.com>\n"
"Language-Team: German <info@lionbridge.com>, German <info@bothof.nl>\n" "Language-Team: German <info@lionbridge.com>, German <info@bothof.nl>\n"
@ -686,8 +686,8 @@ msgstr "Schritte pro Millimeter (E)"
#: fdmprinter.def.json #: fdmprinter.def.json
msgctxt "machine_steps_per_mm_e description" msgctxt "machine_steps_per_mm_e description"
msgid "How many steps of the stepper motors will result in one millimeter of extrusion." msgid "How many steps of the stepper motors will result in moving the feeder wheel by one millimeter around its circumference."
msgstr "Anzahl der Schritte des Schrittmotors, die zu einem Millimeter Extrusion führen." msgstr ""
#: fdmprinter.def.json #: fdmprinter.def.json
msgctxt "machine_endstop_positive_direction_x label" msgctxt "machine_endstop_positive_direction_x label"
@ -1434,6 +1434,16 @@ 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." 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 "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." 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_monotonic label"
msgid "Monotonic Top/Bottom Order"
msgstr ""
#: fdmprinter.def.json
msgctxt "skin_monotonic description"
msgid "Print top/bottom lines in an ordering that causes them to always overlap with adjacent lines in a single direction. This takes slightly more time to print, but makes flat surfaces look more consistent."
msgstr ""
#: fdmprinter.def.json #: fdmprinter.def.json
msgctxt "skin_angles label" msgctxt "skin_angles label"
msgid "Top/Bottom Line Directions" msgid "Top/Bottom Line Directions"
@ -1504,6 +1514,16 @@ msgctxt "ironing_pattern option zigzag"
msgid "Zig Zag" msgid "Zig Zag"
msgstr "Zickzack" msgstr "Zickzack"
#: fdmprinter.def.json
msgctxt "ironing_monotonic label"
msgid "Monotonic Ironing Order"
msgstr ""
#: fdmprinter.def.json
msgctxt "ironing_monotonic description"
msgid "Print ironing lines in an ordering that causes them to always overlap with adjacent lines in a single direction. This takes slightly more time to print, but makes flat surfaces look more consistent."
msgstr ""
#: fdmprinter.def.json #: fdmprinter.def.json
msgctxt "ironing_line_spacing label" msgctxt "ironing_line_spacing label"
msgid "Ironing Line Spacing" msgid "Ironing Line Spacing"
@ -3201,8 +3221,7 @@ msgstr "Max. Kammentfernung ohne Einziehen"
#: fdmprinter.def.json #: fdmprinter.def.json
msgctxt "retraction_combing_max_distance description" msgctxt "retraction_combing_max_distance description"
msgid "When greater than zero, combing travel moves that are longer than this distance will use retraction. If set to zero, there is no maximum and combing moves will not use retraction." msgid "When greater than zero, combing travel moves that are longer than this distance will use retraction. If set to zero, there is no maximum and combing moves will not use retraction."
msgstr "Bei Werten größer als Null verwenden die Combing-Fahrbewegungen, die weiter als über diese Distanz erfolgen, die Einzugsfunktion. Beim Wert Null gibt es" msgstr "Bei Werten größer als Null verwenden die Combing-Fahrbewegungen, die weiter als über diese Distanz erfolgen, die Einzugsfunktion. Beim Wert Null gibt es keine Maximalstellung, und die Combing-Fahrbewegungen verwenden die Einzugsfunktion nicht."
" keine Maximalstellung, und die Combing-Fahrbewegungen verwenden die Einzugsfunktion nicht."
#: fdmprinter.def.json #: fdmprinter.def.json
msgctxt "travel_retract_before_outer_wall label" msgctxt "travel_retract_before_outer_wall label"
@ -5303,6 +5322,16 @@ msgctxt "roofing_pattern option zigzag"
msgid "Zig Zag" msgid "Zig Zag"
msgstr "Zickzack" msgstr "Zickzack"
#: fdmprinter.def.json
msgctxt "roofing_monotonic label"
msgid "Monotonic Top Surface Order"
msgstr ""
#: fdmprinter.def.json
msgctxt "roofing_monotonic description"
msgid "Print top surface lines in an ordering that causes them to always overlap with adjacent lines in a single direction. This takes slightly more time to print, but makes flat surfaces look more consistent."
msgstr ""
#: fdmprinter.def.json #: fdmprinter.def.json
msgctxt "roofing_angles label" msgctxt "roofing_angles label"
msgid "Top Surface Skin Line Directions" msgid "Top Surface Skin Line Directions"
@ -6402,6 +6431,10 @@ msgctxt "mesh_rotation_matrix description"
msgid "Transformation matrix to be applied to the model when loading it from file." 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." msgstr "Transformationsmatrix, die beim Laden aus der Datei auf das Modell angewandt wird."
#~ msgctxt "machine_steps_per_mm_e description"
#~ msgid "How many steps of the stepper motors will result in one millimeter of extrusion."
#~ msgstr "Anzahl der Schritte des Schrittmotors, die zu einem Millimeter Extrusion führen."
#~ msgctxt "retraction_combing_max_distance description" #~ msgctxt "retraction_combing_max_distance description"
#~ msgid "When non-zero, combing travel moves that are longer than this distance will use retraction." #~ msgid "When non-zero, combing travel moves that are longer than this distance will use retraction."
#~ msgstr "Bei Nicht-Null verwenden die Combing-Fahrbewegungen, die länger als die Distanz sind, die Einziehfunktion." #~ msgstr "Bei Nicht-Null verwenden die Combing-Fahrbewegungen, die länger als die Distanz sind, die Einziehfunktion."

File diff suppressed because it is too large Load Diff

View File

@ -4,9 +4,9 @@
# #
msgid "" msgid ""
msgstr "" msgstr ""
"Project-Id-Version: Cura 4.10\n" "Project-Id-Version: Cura 4.11\n"
"Report-Msgid-Bugs-To: r.dulek@ultimaker.com\n" "Report-Msgid-Bugs-To: r.dulek@ultimaker.com\n"
"POT-Creation-Date: 2021-06-10 17:35+0000\n" "POT-Creation-Date: 2021-08-11 09:58+0000\n"
"PO-Revision-Date: 2019-03-13 14:00+0200\n" "PO-Revision-Date: 2019-03-13 14:00+0200\n"
"Last-Translator: Bothof <info@bothof.nl>\n" "Last-Translator: Bothof <info@bothof.nl>\n"
"Language-Team: Spanish\n" "Language-Team: Spanish\n"

View File

@ -4,9 +4,9 @@
# #
msgid "" msgid ""
msgstr "" msgstr ""
"Project-Id-Version: Cura 4.10\n" "Project-Id-Version: Cura 4.11\n"
"Report-Msgid-Bugs-To: r.dulek@ultimaker.com\n" "Report-Msgid-Bugs-To: r.dulek@ultimaker.com\n"
"POT-Creation-Date: 2021-06-10 17:35+0000\n" "POT-Creation-Date: 2021-08-11 09:58+0000\n"
"PO-Revision-Date: 2021-04-16 15:15+0200\n" "PO-Revision-Date: 2021-04-16 15:15+0200\n"
"Last-Translator: Lionbridge <info@lionbridge.com>\n" "Last-Translator: Lionbridge <info@lionbridge.com>\n"
"Language-Team: Spanish <info@lionbridge.com>, Spanish <info@bothof.nl>\n" "Language-Team: Spanish <info@lionbridge.com>, Spanish <info@bothof.nl>\n"
@ -686,8 +686,8 @@ msgstr "Pasos por milímetro (E)"
#: fdmprinter.def.json #: fdmprinter.def.json
msgctxt "machine_steps_per_mm_e description" msgctxt "machine_steps_per_mm_e description"
msgid "How many steps of the stepper motors will result in one millimeter of extrusion." msgid "How many steps of the stepper motors will result in moving the feeder wheel by one millimeter around its circumference."
msgstr "Número de pasos que tiene que dar el motor para abarcar un milímetro de movimiento en la dirección E." msgstr ""
#: fdmprinter.def.json #: fdmprinter.def.json
msgctxt "machine_endstop_positive_direction_x label" msgctxt "machine_endstop_positive_direction_x label"
@ -1434,6 +1434,16 @@ 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." 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 "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." 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_monotonic label"
msgid "Monotonic Top/Bottom Order"
msgstr ""
#: fdmprinter.def.json
msgctxt "skin_monotonic description"
msgid "Print top/bottom lines in an ordering that causes them to always overlap with adjacent lines in a single direction. This takes slightly more time to print, but makes flat surfaces look more consistent."
msgstr ""
#: fdmprinter.def.json #: fdmprinter.def.json
msgctxt "skin_angles label" msgctxt "skin_angles label"
msgid "Top/Bottom Line Directions" msgid "Top/Bottom Line Directions"
@ -1504,6 +1514,16 @@ msgctxt "ironing_pattern option zigzag"
msgid "Zig Zag" msgid "Zig Zag"
msgstr "Zigzag" msgstr "Zigzag"
#: fdmprinter.def.json
msgctxt "ironing_monotonic label"
msgid "Monotonic Ironing Order"
msgstr ""
#: fdmprinter.def.json
msgctxt "ironing_monotonic description"
msgid "Print ironing lines in an ordering that causes them to always overlap with adjacent lines in a single direction. This takes slightly more time to print, but makes flat surfaces look more consistent."
msgstr ""
#: fdmprinter.def.json #: fdmprinter.def.json
msgctxt "ironing_line_spacing label" msgctxt "ironing_line_spacing label"
msgid "Ironing Line Spacing" msgid "Ironing Line Spacing"
@ -3201,8 +3221,7 @@ msgstr "Distancia de peinada máxima sin retracción"
#: fdmprinter.def.json #: fdmprinter.def.json
msgctxt "retraction_combing_max_distance description" msgctxt "retraction_combing_max_distance description"
msgid "When greater than zero, combing travel moves that are longer than this distance will use retraction. If set to zero, there is no maximum and combing moves will not use retraction." msgid "When greater than zero, combing travel moves that are longer than this distance will use retraction. If set to zero, there is no maximum and combing moves will not use retraction."
msgstr "Si es mayor que cero, los movimientos de desplazamiento de peinada que sean superiores a esta distancia utilizarán retracción. Si se establece como cero," msgstr "Si es mayor que cero, los movimientos de desplazamiento de peinada que sean superiores a esta distancia utilizarán retracción. Si se establece como cero, no hay un máximo y los movimientos de peinada no utilizarán la retracción."
" no hay un máximo y los movimientos de peinada no utilizarán la retracción."
#: fdmprinter.def.json #: fdmprinter.def.json
msgctxt "travel_retract_before_outer_wall label" msgctxt "travel_retract_before_outer_wall label"
@ -5303,6 +5322,16 @@ msgctxt "roofing_pattern option zigzag"
msgid "Zig Zag" msgid "Zig Zag"
msgstr "Zigzag" msgstr "Zigzag"
#: fdmprinter.def.json
msgctxt "roofing_monotonic label"
msgid "Monotonic Top Surface Order"
msgstr ""
#: fdmprinter.def.json
msgctxt "roofing_monotonic description"
msgid "Print top surface lines in an ordering that causes them to always overlap with adjacent lines in a single direction. This takes slightly more time to print, but makes flat surfaces look more consistent."
msgstr ""
#: fdmprinter.def.json #: fdmprinter.def.json
msgctxt "roofing_angles label" msgctxt "roofing_angles label"
msgid "Top Surface Skin Line Directions" msgid "Top Surface Skin Line Directions"
@ -6402,6 +6431,10 @@ msgctxt "mesh_rotation_matrix description"
msgid "Transformation matrix to be applied to the model when loading it from file." 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." msgstr "Matriz de transformación que se aplicará al modelo cuando se cargue desde el archivo."
#~ msgctxt "machine_steps_per_mm_e description"
#~ msgid "How many steps of the stepper motors will result in one millimeter of extrusion."
#~ msgstr "Número de pasos que tiene que dar el motor para abarcar un milímetro de movimiento en la dirección E."
#~ msgctxt "retraction_combing_max_distance description" #~ msgctxt "retraction_combing_max_distance description"
#~ msgid "When non-zero, combing travel moves that are longer than this distance will use retraction." #~ msgid "When non-zero, combing travel moves that are longer than this distance will use retraction."
#~ msgstr "Si no es cero, los movimientos de desplazamiento de peinada que sean superiores a esta distancia utilizarán retracción." #~ msgstr "Si no es cero, los movimientos de desplazamiento de peinada que sean superiores a esta distancia utilizarán retracción."

View File

@ -3,7 +3,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: Uranium json setting files\n" "Project-Id-Version: Uranium json setting files\n"
"Report-Msgid-Bugs-To: r.dulek@ultimaker.com\n" "Report-Msgid-Bugs-To: r.dulek@ultimaker.com\n"
"POT-Creation-Date: 2021-06-10 17:35+0000\n" "POT-Creation-Date: 2021-08-11 09:58+0000\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE\n" "Language-Team: LANGUAGE\n"

View File

@ -3,7 +3,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: Uranium json setting files\n" "Project-Id-Version: Uranium json setting files\n"
"Report-Msgid-Bugs-To: r.dulek@ultimaker.com\n" "Report-Msgid-Bugs-To: r.dulek@ultimaker.com\n"
"POT-Creation-Date: 2021-06-10 17:35+0000\n" "POT-Creation-Date: 2021-08-11 09:58+0000\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE\n" "Language-Team: LANGUAGE\n"
@ -744,8 +744,8 @@ msgstr ""
#: fdmprinter.def.json #: fdmprinter.def.json
msgctxt "machine_steps_per_mm_e description" msgctxt "machine_steps_per_mm_e description"
msgid "" msgid ""
"How many steps of the stepper motors will result in one millimeter of " "How many steps of the stepper motors will result in moving the feeder wheel "
"extrusion." "by one millimeter around its circumference."
msgstr "" msgstr ""
#: fdmprinter.def.json #: fdmprinter.def.json
@ -1604,6 +1604,19 @@ msgid ""
"reduce the top surface quality." "reduce the top surface quality."
msgstr "" msgstr ""
#: fdmprinter.def.json
msgctxt "skin_monotonic label"
msgid "Monotonic Top/Bottom Order"
msgstr ""
#: fdmprinter.def.json
msgctxt "skin_monotonic description"
msgid ""
"Print top/bottom lines in an ordering that causes them to always overlap "
"with adjacent lines in a single direction. This takes slightly more time to "
"print, but makes flat surfaces look more consistent."
msgstr ""
#: fdmprinter.def.json #: fdmprinter.def.json
msgctxt "skin_angles label" msgctxt "skin_angles label"
msgid "Top/Bottom Line Directions" msgid "Top/Bottom Line Directions"
@ -1694,6 +1707,19 @@ msgctxt "ironing_pattern option zigzag"
msgid "Zig Zag" msgid "Zig Zag"
msgstr "" msgstr ""
#: fdmprinter.def.json
msgctxt "ironing_monotonic label"
msgid "Monotonic Ironing Order"
msgstr ""
#: fdmprinter.def.json
msgctxt "ironing_monotonic description"
msgid ""
"Print ironing lines in an ordering that causes them to always overlap with "
"adjacent lines in a single direction. This takes slightly more time to "
"print, but makes flat surfaces look more consistent."
msgstr ""
#: fdmprinter.def.json #: fdmprinter.def.json
msgctxt "ironing_line_spacing label" msgctxt "ironing_line_spacing label"
msgid "Ironing Line Spacing" msgid "Ironing Line Spacing"
@ -6164,6 +6190,19 @@ msgctxt "roofing_pattern option zigzag"
msgid "Zig Zag" msgid "Zig Zag"
msgstr "" msgstr ""
#: fdmprinter.def.json
msgctxt "roofing_monotonic label"
msgid "Monotonic Top Surface Order"
msgstr ""
#: fdmprinter.def.json
msgctxt "roofing_monotonic description"
msgid ""
"Print top surface lines in an ordering that causes them to always overlap "
"with adjacent lines in a single direction. This takes slightly more time to "
"print, but makes flat surfaces look more consistent."
msgstr ""
#: fdmprinter.def.json #: fdmprinter.def.json
msgctxt "roofing_angles label" msgctxt "roofing_angles label"
msgid "Top Surface Skin Line Directions" msgid "Top Surface Skin Line Directions"

File diff suppressed because it is too large Load Diff

View File

@ -4,9 +4,9 @@
# #
msgid "" msgid ""
msgstr "" msgstr ""
"Project-Id-Version: Cura 4.10\n" "Project-Id-Version: Cura 4.11\n"
"Report-Msgid-Bugs-To: r.dulek@ultimaker.com\n" "Report-Msgid-Bugs-To: r.dulek@ultimaker.com\n"
"POT-Creation-Date: 2021-06-10 17:35+0000\n" "POT-Creation-Date: 2021-08-11 09:58+0000\n"
"PO-Revision-Date: 2017-08-11 14:31+0200\n" "PO-Revision-Date: 2017-08-11 14:31+0200\n"
"Last-Translator: Bothof <info@bothof.nl>\n" "Last-Translator: Bothof <info@bothof.nl>\n"
"Language-Team: Finnish\n" "Language-Team: Finnish\n"

View File

@ -4,9 +4,9 @@
# #
msgid "" msgid ""
msgstr "" msgstr ""
"Project-Id-Version: Cura 4.10\n" "Project-Id-Version: Cura 4.11\n"
"Report-Msgid-Bugs-To: r.dulek@ultimaker.com\n" "Report-Msgid-Bugs-To: r.dulek@ultimaker.com\n"
"POT-Creation-Date: 2021-06-10 17:35+0000\n" "POT-Creation-Date: 2021-08-11 09:58+0000\n"
"PO-Revision-Date: 2017-09-27 12:27+0200\n" "PO-Revision-Date: 2017-09-27 12:27+0200\n"
"Last-Translator: Bothof <info@bothof.nl>\n" "Last-Translator: Bothof <info@bothof.nl>\n"
"Language-Team: Finnish\n" "Language-Team: Finnish\n"
@ -681,7 +681,7 @@ msgstr ""
#: fdmprinter.def.json #: fdmprinter.def.json
msgctxt "machine_steps_per_mm_e description" msgctxt "machine_steps_per_mm_e description"
msgid "How many steps of the stepper motors will result in one millimeter of extrusion." msgid "How many steps of the stepper motors will result in moving the feeder wheel by one millimeter around its circumference."
msgstr "" msgstr ""
#: fdmprinter.def.json #: fdmprinter.def.json
@ -1429,6 +1429,16 @@ 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." 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_monotonic label"
msgid "Monotonic Top/Bottom Order"
msgstr ""
#: fdmprinter.def.json
msgctxt "skin_monotonic description"
msgid "Print top/bottom lines in an ordering that causes them to always overlap with adjacent lines in a single direction. This takes slightly more time to print, but makes flat surfaces look more consistent."
msgstr ""
#: fdmprinter.def.json #: fdmprinter.def.json
msgctxt "skin_angles label" msgctxt "skin_angles label"
msgid "Top/Bottom Line Directions" msgid "Top/Bottom Line Directions"
@ -1499,6 +1509,16 @@ msgctxt "ironing_pattern option zigzag"
msgid "Zig Zag" msgid "Zig Zag"
msgstr "Siksak" msgstr "Siksak"
#: fdmprinter.def.json
msgctxt "ironing_monotonic label"
msgid "Monotonic Ironing Order"
msgstr ""
#: fdmprinter.def.json
msgctxt "ironing_monotonic description"
msgid "Print ironing lines in an ordering that causes them to always overlap with adjacent lines in a single direction. This takes slightly more time to print, but makes flat surfaces look more consistent."
msgstr ""
#: fdmprinter.def.json #: fdmprinter.def.json
msgctxt "ironing_line_spacing label" msgctxt "ironing_line_spacing label"
msgid "Ironing Line Spacing" msgid "Ironing Line Spacing"
@ -5293,6 +5313,16 @@ msgctxt "roofing_pattern option zigzag"
msgid "Zig Zag" msgid "Zig Zag"
msgstr "Siksak" msgstr "Siksak"
#: fdmprinter.def.json
msgctxt "roofing_monotonic label"
msgid "Monotonic Top Surface Order"
msgstr ""
#: fdmprinter.def.json
msgctxt "roofing_monotonic description"
msgid "Print top surface lines in an ordering that causes them to always overlap with adjacent lines in a single direction. This takes slightly more time to print, but makes flat surfaces look more consistent."
msgstr ""
#: fdmprinter.def.json #: fdmprinter.def.json
msgctxt "roofing_angles label" msgctxt "roofing_angles label"
msgid "Top Surface Skin Line Directions" msgid "Top Surface Skin Line Directions"

File diff suppressed because it is too large Load Diff

View File

@ -4,9 +4,9 @@
# #
msgid "" msgid ""
msgstr "" msgstr ""
"Project-Id-Version: Cura 4.10\n" "Project-Id-Version: Cura 4.11\n"
"Report-Msgid-Bugs-To: r.dulek@ultimaker.com\n" "Report-Msgid-Bugs-To: r.dulek@ultimaker.com\n"
"POT-Creation-Date: 2021-06-10 17:35+0000\n" "POT-Creation-Date: 2021-08-11 09:58+0000\n"
"PO-Revision-Date: 2021-04-16 15:16+0200\n" "PO-Revision-Date: 2021-04-16 15:16+0200\n"
"Last-Translator: Bothof <info@bothof.nl>\n" "Last-Translator: Bothof <info@bothof.nl>\n"
"Language-Team: French\n" "Language-Team: French\n"

View File

@ -4,9 +4,9 @@
# #
msgid "" msgid ""
msgstr "" msgstr ""
"Project-Id-Version: Cura 4.10\n" "Project-Id-Version: Cura 4.11\n"
"Report-Msgid-Bugs-To: r.dulek@ultimaker.com\n" "Report-Msgid-Bugs-To: r.dulek@ultimaker.com\n"
"POT-Creation-Date: 2021-06-10 17:35+0000\n" "POT-Creation-Date: 2021-08-11 09:58+0000\n"
"PO-Revision-Date: 2021-04-16 15:16+0200\n" "PO-Revision-Date: 2021-04-16 15:16+0200\n"
"Last-Translator: Lionbridge <info@lionbridge.com>\n" "Last-Translator: Lionbridge <info@lionbridge.com>\n"
"Language-Team: French <info@lionbridge.com>, French <info@bothof.nl>\n" "Language-Team: French <info@lionbridge.com>, French <info@bothof.nl>\n"
@ -686,8 +686,8 @@ msgstr "Pas par millimètre (E)"
#: fdmprinter.def.json #: fdmprinter.def.json
msgctxt "machine_steps_per_mm_e description" msgctxt "machine_steps_per_mm_e description"
msgid "How many steps of the stepper motors will result in one millimeter of extrusion." msgid "How many steps of the stepper motors will result in moving the feeder wheel by one millimeter around its circumference."
msgstr "Nombre de pas du moteur pas à pas correspondant à une extrusion d'un millimètre." msgstr ""
#: fdmprinter.def.json #: fdmprinter.def.json
msgctxt "machine_endstop_positive_direction_x label" msgctxt "machine_endstop_positive_direction_x label"
@ -1434,6 +1434,16 @@ 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." 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 "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." 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_monotonic label"
msgid "Monotonic Top/Bottom Order"
msgstr ""
#: fdmprinter.def.json
msgctxt "skin_monotonic description"
msgid "Print top/bottom lines in an ordering that causes them to always overlap with adjacent lines in a single direction. This takes slightly more time to print, but makes flat surfaces look more consistent."
msgstr ""
#: fdmprinter.def.json #: fdmprinter.def.json
msgctxt "skin_angles label" msgctxt "skin_angles label"
msgid "Top/Bottom Line Directions" msgid "Top/Bottom Line Directions"
@ -1504,6 +1514,16 @@ msgctxt "ironing_pattern option zigzag"
msgid "Zig Zag" msgid "Zig Zag"
msgstr "Zig Zag" msgstr "Zig Zag"
#: fdmprinter.def.json
msgctxt "ironing_monotonic label"
msgid "Monotonic Ironing Order"
msgstr ""
#: fdmprinter.def.json
msgctxt "ironing_monotonic description"
msgid "Print ironing lines in an ordering that causes them to always overlap with adjacent lines in a single direction. This takes slightly more time to print, but makes flat surfaces look more consistent."
msgstr ""
#: fdmprinter.def.json #: fdmprinter.def.json
msgctxt "ironing_line_spacing label" msgctxt "ironing_line_spacing label"
msgid "Ironing Line Spacing" msgid "Ironing Line Spacing"
@ -3201,8 +3221,7 @@ msgstr "Distance de détour max. sans rétraction"
#: fdmprinter.def.json #: fdmprinter.def.json
msgctxt "retraction_combing_max_distance description" msgctxt "retraction_combing_max_distance description"
msgid "When greater than zero, combing travel moves that are longer than this distance will use retraction. If set to zero, there is no maximum and combing moves will not use retraction." msgid "When greater than zero, combing travel moves that are longer than this distance will use retraction. If set to zero, there is no maximum and combing moves will not use retraction."
msgstr "Lorsque cette distance est supérieure à zéro, les déplacements de détour qui sont plus longs que cette distance utiliseront la rétraction. Si elle est" msgstr "Lorsque cette distance est supérieure à zéro, les déplacements de détour qui sont plus longs que cette distance utiliseront la rétraction. Si elle est définie sur zéro, il n'y a pas de maximum et les mouvements de détour n'utiliseront pas la rétraction."
" définie sur zéro, il n'y a pas de maximum et les mouvements de détour n'utiliseront pas la rétraction."
#: fdmprinter.def.json #: fdmprinter.def.json
msgctxt "travel_retract_before_outer_wall label" msgctxt "travel_retract_before_outer_wall label"
@ -5303,6 +5322,16 @@ msgctxt "roofing_pattern option zigzag"
msgid "Zig Zag" msgid "Zig Zag"
msgstr "Zig Zag" msgstr "Zig Zag"
#: fdmprinter.def.json
msgctxt "roofing_monotonic label"
msgid "Monotonic Top Surface Order"
msgstr ""
#: fdmprinter.def.json
msgctxt "roofing_monotonic description"
msgid "Print top surface lines in an ordering that causes them to always overlap with adjacent lines in a single direction. This takes slightly more time to print, but makes flat surfaces look more consistent."
msgstr ""
#: fdmprinter.def.json #: fdmprinter.def.json
msgctxt "roofing_angles label" msgctxt "roofing_angles label"
msgid "Top Surface Skin Line Directions" msgid "Top Surface Skin Line Directions"
@ -6402,6 +6431,10 @@ msgctxt "mesh_rotation_matrix description"
msgid "Transformation matrix to be applied to the model when loading it from file." 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." msgstr "Matrice de transformation à appliquer au modèle lors de son chargement depuis le fichier."
#~ msgctxt "machine_steps_per_mm_e description"
#~ msgid "How many steps of the stepper motors will result in one millimeter of extrusion."
#~ msgstr "Nombre de pas du moteur pas à pas correspondant à une extrusion d'un millimètre."
#~ msgctxt "retraction_combing_max_distance description" #~ msgctxt "retraction_combing_max_distance description"
#~ msgid "When non-zero, combing travel moves that are longer than this distance will use retraction." #~ msgid "When non-zero, combing travel moves that are longer than this distance will use retraction."
#~ msgstr "Lorsque cette distance n'est pas nulle, les déplacements de détour qui sont plus longs que cette distance utiliseront la rétraction." #~ msgstr "Lorsque cette distance n'est pas nulle, les déplacements de détour qui sont plus longs que cette distance utiliseront la rétraction."

File diff suppressed because it is too large Load Diff

View File

@ -4,9 +4,9 @@
# #
msgid "" msgid ""
msgstr "" msgstr ""
"Project-Id-Version: Cura 4.10\n" "Project-Id-Version: Cura 4.11\n"
"Report-Msgid-Bugs-To: r.dulek@ultimaker.com\n" "Report-Msgid-Bugs-To: r.dulek@ultimaker.com\n"
"POT-Creation-Date: 2021-06-10 17:35+0000\n" "POT-Creation-Date: 2021-08-11 09:58+0000\n"
"PO-Revision-Date: 2020-03-24 09:27+0100\n" "PO-Revision-Date: 2020-03-24 09:27+0100\n"
"Last-Translator: Nagy Attila <vokroot@gmail.com>\n" "Last-Translator: Nagy Attila <vokroot@gmail.com>\n"
"Language-Team: AT-VLOG\n" "Language-Team: AT-VLOG\n"

View File

@ -4,9 +4,9 @@
# #
msgid "" msgid ""
msgstr "" msgstr ""
"Project-Id-Version: Cura 4.10\n" "Project-Id-Version: Cura 4.11\n"
"Report-Msgid-Bugs-To: r.dulek@ultimaker.com\n" "Report-Msgid-Bugs-To: r.dulek@ultimaker.com\n"
"POT-Creation-Date: 2021-06-10 17:35+0000\n" "POT-Creation-Date: 2021-08-11 09:58+0000\n"
"PO-Revision-Date: 2020-03-24 09:43+0100\n" "PO-Revision-Date: 2020-03-24 09:43+0100\n"
"Last-Translator: Nagy Attila <vokroot@gmail.com>\n" "Last-Translator: Nagy Attila <vokroot@gmail.com>\n"
"Language-Team: AT-VLOG\n" "Language-Team: AT-VLOG\n"
@ -687,8 +687,8 @@ msgstr "Lépés per milliméter (E)"
#: fdmprinter.def.json #: fdmprinter.def.json
msgctxt "machine_steps_per_mm_e description" msgctxt "machine_steps_per_mm_e description"
msgid "How many steps of the stepper motors will result in one millimeter of extrusion." msgid "How many steps of the stepper motors will result in moving the feeder wheel by one millimeter around its circumference."
msgstr "Hány lépést kell a motornak megtenni ahhoz, hogy 1 mm mozgás történjen a nyomtatószál adagolásakor." msgstr ""
#: fdmprinter.def.json #: fdmprinter.def.json
msgctxt "machine_endstop_positive_direction_x label" msgctxt "machine_endstop_positive_direction_x label"
@ -1435,6 +1435,16 @@ 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." 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 "Az alsó/felső rétegpályákat kapcsolja össze, ahol egymás mellett futnak.Ha ezt a beállítást engedélyezzük a körkörös mintázatnál, jelentősen csökkenthetjük a fej átemelési időt, mivel a kapcsolódások félúton terténhetnek meg. Ez azonban ronthatja a felső felület minőségét." msgstr "Az alsó/felső rétegpályákat kapcsolja össze, ahol egymás mellett futnak.Ha ezt a beállítást engedélyezzük a körkörös mintázatnál, jelentősen csökkenthetjük a fej átemelési időt, mivel a kapcsolódások félúton terténhetnek meg. Ez azonban ronthatja a felső felület minőségét."
#: fdmprinter.def.json
msgctxt "skin_monotonic label"
msgid "Monotonic Top/Bottom Order"
msgstr ""
#: fdmprinter.def.json
msgctxt "skin_monotonic description"
msgid "Print top/bottom lines in an ordering that causes them to always overlap with adjacent lines in a single direction. This takes slightly more time to print, but makes flat surfaces look more consistent."
msgstr ""
#: fdmprinter.def.json #: fdmprinter.def.json
msgctxt "skin_angles label" msgctxt "skin_angles label"
msgid "Top/Bottom Line Directions" msgid "Top/Bottom Line Directions"
@ -1505,6 +1515,16 @@ msgctxt "ironing_pattern option zigzag"
msgid "Zig Zag" msgid "Zig Zag"
msgstr "Cikcakk" msgstr "Cikcakk"
#: fdmprinter.def.json
msgctxt "ironing_monotonic label"
msgid "Monotonic Ironing Order"
msgstr ""
#: fdmprinter.def.json
msgctxt "ironing_monotonic description"
msgid "Print ironing lines in an ordering that causes them to always overlap with adjacent lines in a single direction. This takes slightly more time to print, but makes flat surfaces look more consistent."
msgstr ""
#: fdmprinter.def.json #: fdmprinter.def.json
msgctxt "ironing_line_spacing label" msgctxt "ironing_line_spacing label"
msgid "Ironing Line Spacing" msgid "Ironing Line Spacing"
@ -5303,6 +5323,16 @@ msgctxt "roofing_pattern option zigzag"
msgid "Zig Zag" msgid "Zig Zag"
msgstr "Cikcakk" msgstr "Cikcakk"
#: fdmprinter.def.json
msgctxt "roofing_monotonic label"
msgid "Monotonic Top Surface Order"
msgstr ""
#: fdmprinter.def.json
msgctxt "roofing_monotonic description"
msgid "Print top surface lines in an ordering that causes them to always overlap with adjacent lines in a single direction. This takes slightly more time to print, but makes flat surfaces look more consistent."
msgstr ""
#: fdmprinter.def.json #: fdmprinter.def.json
msgctxt "roofing_angles label" msgctxt "roofing_angles label"
msgid "Top Surface Skin Line Directions" msgid "Top Surface Skin Line Directions"
@ -6400,6 +6430,10 @@ msgctxt "mesh_rotation_matrix description"
msgid "Transformation matrix to be applied to the model when loading it from file." msgid "Transformation matrix to be applied to the model when loading it from file."
msgstr "A modellre alkalmazandó átalakítási mátrix, amikor azt fájlból tölti be." msgstr "A modellre alkalmazandó átalakítási mátrix, amikor azt fájlból tölti be."
#~ msgctxt "machine_steps_per_mm_e description"
#~ msgid "How many steps of the stepper motors will result in one millimeter of extrusion."
#~ msgstr "Hány lépést kell a motornak megtenni ahhoz, hogy 1 mm mozgás történjen a nyomtatószál adagolásakor."
#~ msgctxt "retraction_combing_max_distance description" #~ msgctxt "retraction_combing_max_distance description"
#~ msgid "When non-zero, combing travel moves that are longer than this distance will use retraction." #~ msgid "When non-zero, combing travel moves that are longer than this distance will use retraction."
#~ msgstr "Ha ez az érték nem nulla, akkor a megadott értéktől hosszabb utazáskor nyomtatószál visszahúzás fog történni." #~ msgstr "Ha ez az érték nem nulla, akkor a megadott értéktől hosszabb utazáskor nyomtatószál visszahúzás fog történni."

File diff suppressed because it is too large Load Diff

View File

@ -4,9 +4,9 @@
# #
msgid "" msgid ""
msgstr "" msgstr ""
"Project-Id-Version: Cura 4.10\n" "Project-Id-Version: Cura 4.11\n"
"Report-Msgid-Bugs-To: r.dulek@ultimaker.com\n" "Report-Msgid-Bugs-To: r.dulek@ultimaker.com\n"
"POT-Creation-Date: 2021-06-10 17:35+0000\n" "POT-Creation-Date: 2021-08-11 09:58+0000\n"
"PO-Revision-Date: 2021-04-16 14:58+0200\n" "PO-Revision-Date: 2021-04-16 14:58+0200\n"
"Last-Translator: Bothof <info@bothof.nl>\n" "Last-Translator: Bothof <info@bothof.nl>\n"
"Language-Team: Italian\n" "Language-Team: Italian\n"

View File

@ -4,9 +4,9 @@
# #
msgid "" msgid ""
msgstr "" msgstr ""
"Project-Id-Version: Cura 4.10\n" "Project-Id-Version: Cura 4.11\n"
"Report-Msgid-Bugs-To: r.dulek@ultimaker.com\n" "Report-Msgid-Bugs-To: r.dulek@ultimaker.com\n"
"POT-Creation-Date: 2021-06-10 17:35+0000\n" "POT-Creation-Date: 2021-08-11 09:58+0000\n"
"PO-Revision-Date: 2021-04-16 14:58+0200\n" "PO-Revision-Date: 2021-04-16 14:58+0200\n"
"Last-Translator: Lionbridge <info@lionbridge.com>\n" "Last-Translator: Lionbridge <info@lionbridge.com>\n"
"Language-Team: Italian <info@lionbridge.com>, Italian <info@bothof.nl>\n" "Language-Team: Italian <info@lionbridge.com>, Italian <info@bothof.nl>\n"
@ -686,8 +686,8 @@ msgstr "Passi per millimetro (E)"
#: fdmprinter.def.json #: fdmprinter.def.json
msgctxt "machine_steps_per_mm_e description" msgctxt "machine_steps_per_mm_e description"
msgid "How many steps of the stepper motors will result in one millimeter of extrusion." msgid "How many steps of the stepper motors will result in moving the feeder wheel by one millimeter around its circumference."
msgstr "I passi del motore passo-passo in un millimetro di estrusione." msgstr ""
#: fdmprinter.def.json #: fdmprinter.def.json
msgctxt "machine_endstop_positive_direction_x label" msgctxt "machine_endstop_positive_direction_x label"
@ -1434,6 +1434,16 @@ 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." 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 "Collega i percorsi del rivestimento esterno superiore/inferiore quando corrono uno accanto allaltro. Per le configurazioni concentriche, labilitazione 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." msgstr "Collega i percorsi del rivestimento esterno superiore/inferiore quando corrono uno accanto allaltro. Per le configurazioni concentriche, labilitazione 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_monotonic label"
msgid "Monotonic Top/Bottom Order"
msgstr ""
#: fdmprinter.def.json
msgctxt "skin_monotonic description"
msgid "Print top/bottom lines in an ordering that causes them to always overlap with adjacent lines in a single direction. This takes slightly more time to print, but makes flat surfaces look more consistent."
msgstr ""
#: fdmprinter.def.json #: fdmprinter.def.json
msgctxt "skin_angles label" msgctxt "skin_angles label"
msgid "Top/Bottom Line Directions" msgid "Top/Bottom Line Directions"
@ -1504,6 +1514,16 @@ msgctxt "ironing_pattern option zigzag"
msgid "Zig Zag" msgid "Zig Zag"
msgstr "Zig Zag" msgstr "Zig Zag"
#: fdmprinter.def.json
msgctxt "ironing_monotonic label"
msgid "Monotonic Ironing Order"
msgstr ""
#: fdmprinter.def.json
msgctxt "ironing_monotonic description"
msgid "Print ironing lines in an ordering that causes them to always overlap with adjacent lines in a single direction. This takes slightly more time to print, but makes flat surfaces look more consistent."
msgstr ""
#: fdmprinter.def.json #: fdmprinter.def.json
msgctxt "ironing_line_spacing label" msgctxt "ironing_line_spacing label"
msgid "Ironing Line Spacing" msgid "Ironing Line Spacing"
@ -3201,8 +3221,7 @@ msgstr "Massima distanza di combing senza retrazione"
#: fdmprinter.def.json #: fdmprinter.def.json
msgctxt "retraction_combing_max_distance description" msgctxt "retraction_combing_max_distance description"
msgid "When greater than zero, combing travel moves that are longer than this distance will use retraction. If set to zero, there is no maximum and combing moves will not use retraction." msgid "When greater than zero, combing travel moves that are longer than this distance will use retraction. If set to zero, there is no maximum and combing moves will not use retraction."
msgstr "Per un valore superiore a zero, le corse di spostamento in modalità combing superiori a tale distanza utilizzeranno la retrazione. Se il valore impostato" msgstr "Per un valore superiore a zero, le corse di spostamento in modalità combing superiori a tale distanza utilizzeranno la retrazione. Se il valore impostato è zero, non è presente un valore massimo e le corse in modalità combing non utilizzeranno la retrazione."
" è zero, non è presente un valore massimo e le corse in modalità combing non utilizzeranno la retrazione."
#: fdmprinter.def.json #: fdmprinter.def.json
msgctxt "travel_retract_before_outer_wall label" msgctxt "travel_retract_before_outer_wall label"
@ -5303,6 +5322,16 @@ msgctxt "roofing_pattern option zigzag"
msgid "Zig Zag" msgid "Zig Zag"
msgstr "Zig Zag" msgstr "Zig Zag"
#: fdmprinter.def.json
msgctxt "roofing_monotonic label"
msgid "Monotonic Top Surface Order"
msgstr ""
#: fdmprinter.def.json
msgctxt "roofing_monotonic description"
msgid "Print top surface lines in an ordering that causes them to always overlap with adjacent lines in a single direction. This takes slightly more time to print, but makes flat surfaces look more consistent."
msgstr ""
#: fdmprinter.def.json #: fdmprinter.def.json
msgctxt "roofing_angles label" msgctxt "roofing_angles label"
msgid "Top Surface Skin Line Directions" msgid "Top Surface Skin Line Directions"
@ -6402,6 +6431,10 @@ msgctxt "mesh_rotation_matrix description"
msgid "Transformation matrix to be applied to the model when loading it from file." 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." msgstr "Matrice di rotazione da applicare al modello quando caricato dal file."
#~ msgctxt "machine_steps_per_mm_e description"
#~ msgid "How many steps of the stepper motors will result in one millimeter of extrusion."
#~ msgstr "I passi del motore passo-passo in un millimetro di estrusione."
#~ msgctxt "retraction_combing_max_distance description" #~ msgctxt "retraction_combing_max_distance description"
#~ msgid "When non-zero, combing travel moves that are longer than this distance will use retraction." #~ msgid "When non-zero, combing travel moves that are longer than this distance will use retraction."
#~ msgstr "Per un valore diverso da zero, le corse di spostamento in modalità combing superiori a tale distanza utilizzeranno la retrazione." #~ msgstr "Per un valore diverso da zero, le corse di spostamento in modalità combing superiori a tale distanza utilizzeranno la retrazione."

File diff suppressed because it is too large Load Diff

View File

@ -4,9 +4,9 @@
# #
msgid "" msgid ""
msgstr "" msgstr ""
"Project-Id-Version: Cura 4.10\n" "Project-Id-Version: Cura 4.11\n"
"Report-Msgid-Bugs-To: r.dulek@ultimaker.com\n" "Report-Msgid-Bugs-To: r.dulek@ultimaker.com\n"
"POT-Creation-Date: 2021-06-10 17:35+0000\n" "POT-Creation-Date: 2021-08-11 09:58+0000\n"
"PO-Revision-Date: 2021-04-16 14:59+0200\n" "PO-Revision-Date: 2021-04-16 14:59+0200\n"
"Last-Translator: Bothof <info@bothof.nl>\n" "Last-Translator: Bothof <info@bothof.nl>\n"
"Language-Team: Japanese\n" "Language-Team: Japanese\n"

View File

@ -4,9 +4,9 @@
# #
msgid "" msgid ""
msgstr "" msgstr ""
"Project-Id-Version: Cura 4.10\n" "Project-Id-Version: Cura 4.11\n"
"Report-Msgid-Bugs-To: r.dulek@ultimaker.com\n" "Report-Msgid-Bugs-To: r.dulek@ultimaker.com\n"
"POT-Creation-Date: 2021-06-10 17:35+0000\n" "POT-Creation-Date: 2021-08-11 09:58+0000\n"
"PO-Revision-Date: 2021-04-16 15:00+0200\n" "PO-Revision-Date: 2021-04-16 15:00+0200\n"
"Last-Translator: Lionbridge <info@lionbridge.com>\n" "Last-Translator: Lionbridge <info@lionbridge.com>\n"
"Language-Team: Japanese <info@lionbridge.com>, Japanese <info@bothof.nl>\n" "Language-Team: Japanese <info@lionbridge.com>, Japanese <info@bothof.nl>\n"
@ -715,8 +715,8 @@ msgstr "ミリメートルあたりのステップ (E)"
#: fdmprinter.def.json #: fdmprinter.def.json
msgctxt "machine_steps_per_mm_e description" msgctxt "machine_steps_per_mm_e description"
msgid "How many steps of the stepper motors will result in one millimeter of extrusion." msgid "How many steps of the stepper motors will result in moving the feeder wheel by one millimeter around its circumference."
msgstr "1 ミリメートルの押出でステップモーターが行うステップの数を示します。" msgstr ""
#: fdmprinter.def.json #: fdmprinter.def.json
msgctxt "machine_endstop_positive_direction_x label" msgctxt "machine_endstop_positive_direction_x label"
@ -1487,6 +1487,16 @@ 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." 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_monotonic label"
msgid "Monotonic Top/Bottom Order"
msgstr ""
#: fdmprinter.def.json
msgctxt "skin_monotonic description"
msgid "Print top/bottom lines in an ordering that causes them to always overlap with adjacent lines in a single direction. This takes slightly more time to print, but makes flat surfaces look more consistent."
msgstr ""
#: fdmprinter.def.json #: fdmprinter.def.json
msgctxt "skin_angles label" msgctxt "skin_angles label"
msgid "Top/Bottom Line Directions" msgid "Top/Bottom Line Directions"
@ -1561,6 +1571,16 @@ msgctxt "ironing_pattern option zigzag"
msgid "Zig Zag" msgid "Zig Zag"
msgstr "ジグザグ" msgstr "ジグザグ"
#: fdmprinter.def.json
msgctxt "ironing_monotonic label"
msgid "Monotonic Ironing Order"
msgstr ""
#: fdmprinter.def.json
msgctxt "ironing_monotonic description"
msgid "Print ironing lines in an ordering that causes them to always overlap with adjacent lines in a single direction. This takes slightly more time to print, but makes flat surfaces look more consistent."
msgstr ""
# msgstr "ジグザグ" # msgstr "ジグザグ"
#: fdmprinter.def.json #: fdmprinter.def.json
msgctxt "ironing_line_spacing label" msgctxt "ironing_line_spacing label"
@ -5432,6 +5452,16 @@ msgctxt "roofing_pattern option zigzag"
msgid "Zig Zag" msgid "Zig Zag"
msgstr "ジグザグ" msgstr "ジグザグ"
#: fdmprinter.def.json
msgctxt "roofing_monotonic label"
msgid "Monotonic Top Surface Order"
msgstr ""
#: fdmprinter.def.json
msgctxt "roofing_monotonic description"
msgid "Print top surface lines in an ordering that causes them to always overlap with adjacent lines in a single direction. This takes slightly more time to print, but makes flat surfaces look more consistent."
msgstr ""
# msgstr "ジグザグ" # msgstr "ジグザグ"
#: fdmprinter.def.json #: fdmprinter.def.json
msgctxt "roofing_angles label" msgctxt "roofing_angles label"
@ -6535,6 +6565,10 @@ msgctxt "mesh_rotation_matrix description"
msgid "Transformation matrix to be applied to the model when loading it from file." msgid "Transformation matrix to be applied to the model when loading it from file."
msgstr "ファイルから読み込むときに、モデルに適用するトランスフォーメーションマトリックス。" msgstr "ファイルから読み込むときに、モデルに適用するトランスフォーメーションマトリックス。"
#~ msgctxt "machine_steps_per_mm_e description"
#~ msgid "How many steps of the stepper motors will result in one millimeter of extrusion."
#~ msgstr "1 ミリメートルの押出でステップモーターが行うステップの数を示します。"
#~ msgctxt "retraction_combing_max_distance description" #~ msgctxt "retraction_combing_max_distance description"
#~ msgid "When non-zero, combing travel moves that are longer than this distance will use retraction." #~ msgid "When non-zero, combing travel moves that are longer than this distance will use retraction."
#~ msgstr "ゼロ以外の場合、この距離より移動量が多い場合は、引き戻しを使用します。" #~ msgstr "ゼロ以外の場合、この距離より移動量が多い場合は、引き戻しを使用します。"

File diff suppressed because it is too large Load Diff

View File

@ -4,9 +4,9 @@
# #
msgid "" msgid ""
msgstr "" msgstr ""
"Project-Id-Version: Cura 4.10\n" "Project-Id-Version: Cura 4.11\n"
"Report-Msgid-Bugs-To: r.dulek@ultimaker.com\n" "Report-Msgid-Bugs-To: r.dulek@ultimaker.com\n"
"POT-Creation-Date: 2021-06-10 17:35+0000\n" "POT-Creation-Date: 2021-08-11 09:58+0000\n"
"PO-Revision-Date: 2021-04-16 15:01+0200\n" "PO-Revision-Date: 2021-04-16 15:01+0200\n"
"Last-Translator: Korean <info@bothof.nl>\n" "Last-Translator: Korean <info@bothof.nl>\n"
"Language-Team: Jinbum Kim <Jinbuhm.Kim@gmail.com>, Korean <info@bothof.nl>\n" "Language-Team: Jinbum Kim <Jinbuhm.Kim@gmail.com>, Korean <info@bothof.nl>\n"

View File

@ -4,9 +4,9 @@
# #
msgid "" msgid ""
msgstr "" msgstr ""
"Project-Id-Version: Cura 4.10\n" "Project-Id-Version: Cura 4.11\n"
"Report-Msgid-Bugs-To: r.dulek@ultimaker.com\n" "Report-Msgid-Bugs-To: r.dulek@ultimaker.com\n"
"POT-Creation-Date: 2021-06-10 17:35+0000\n" "POT-Creation-Date: 2021-08-11 09:58+0000\n"
"PO-Revision-Date: 2021-04-16 15:02+0200\n" "PO-Revision-Date: 2021-04-16 15:02+0200\n"
"Last-Translator: Lionbridge <info@lionbridge.com>\n" "Last-Translator: Lionbridge <info@lionbridge.com>\n"
"Language-Team: Korean <info@lionbridge.com>, Jinbum Kim <Jinbuhm.Kim@gmail.com>, Korean <info@bothof.nl>\n" "Language-Team: Korean <info@lionbridge.com>, Jinbum Kim <Jinbuhm.Kim@gmail.com>, Korean <info@bothof.nl>\n"
@ -687,8 +687,8 @@ msgstr "밀리미터 당 스텝 수 (E)"
#: fdmprinter.def.json #: fdmprinter.def.json
msgctxt "machine_steps_per_mm_e description" msgctxt "machine_steps_per_mm_e description"
msgid "How many steps of the stepper motors will result in one millimeter of extrusion." msgid "How many steps of the stepper motors will result in moving the feeder wheel by one millimeter around its circumference."
msgstr "1 밀리미터를 압출에 필요한 스텝 모터의 스텝 수." msgstr ""
#: fdmprinter.def.json #: fdmprinter.def.json
msgctxt "machine_endstop_positive_direction_x label" msgctxt "machine_endstop_positive_direction_x label"
@ -1435,6 +1435,16 @@ 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." 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_monotonic label"
msgid "Monotonic Top/Bottom Order"
msgstr ""
#: fdmprinter.def.json
msgctxt "skin_monotonic description"
msgid "Print top/bottom lines in an ordering that causes them to always overlap with adjacent lines in a single direction. This takes slightly more time to print, but makes flat surfaces look more consistent."
msgstr ""
#: fdmprinter.def.json #: fdmprinter.def.json
msgctxt "skin_angles label" msgctxt "skin_angles label"
msgid "Top/Bottom Line Directions" msgid "Top/Bottom Line Directions"
@ -1505,6 +1515,16 @@ msgctxt "ironing_pattern option zigzag"
msgid "Zig Zag" msgid "Zig Zag"
msgstr "지그재그" msgstr "지그재그"
#: fdmprinter.def.json
msgctxt "ironing_monotonic label"
msgid "Monotonic Ironing Order"
msgstr ""
#: fdmprinter.def.json
msgctxt "ironing_monotonic description"
msgid "Print ironing lines in an ordering that causes them to always overlap with adjacent lines in a single direction. This takes slightly more time to print, but makes flat surfaces look more consistent."
msgstr ""
#: fdmprinter.def.json #: fdmprinter.def.json
msgctxt "ironing_line_spacing label" msgctxt "ironing_line_spacing label"
msgid "Ironing Line Spacing" msgid "Ironing Line Spacing"
@ -5303,6 +5323,16 @@ msgctxt "roofing_pattern option zigzag"
msgid "Zig Zag" msgid "Zig Zag"
msgstr "지그재그" msgstr "지그재그"
#: fdmprinter.def.json
msgctxt "roofing_monotonic label"
msgid "Monotonic Top Surface Order"
msgstr ""
#: fdmprinter.def.json
msgctxt "roofing_monotonic description"
msgid "Print top surface lines in an ordering that causes them to always overlap with adjacent lines in a single direction. This takes slightly more time to print, but makes flat surfaces look more consistent."
msgstr ""
#: fdmprinter.def.json #: fdmprinter.def.json
msgctxt "roofing_angles label" msgctxt "roofing_angles label"
msgid "Top Surface Skin Line Directions" msgid "Top Surface Skin Line Directions"
@ -6400,6 +6430,10 @@ msgctxt "mesh_rotation_matrix description"
msgid "Transformation matrix to be applied to the model when loading it from file." msgid "Transformation matrix to be applied to the model when loading it from file."
msgstr "파일로부터 로드 하는 경유, 모델에 적용될 변환 행렬입니다." msgstr "파일로부터 로드 하는 경유, 모델에 적용될 변환 행렬입니다."
#~ msgctxt "machine_steps_per_mm_e description"
#~ msgid "How many steps of the stepper motors will result in one millimeter of extrusion."
#~ msgstr "1 밀리미터를 압출에 필요한 스텝 모터의 스텝 수."
#~ msgctxt "retraction_combing_max_distance description" #~ msgctxt "retraction_combing_max_distance description"
#~ msgid "When non-zero, combing travel moves that are longer than this distance will use retraction." #~ msgid "When non-zero, combing travel moves that are longer than this distance will use retraction."
#~ msgstr "0이 아닌 경우 이 거리보다 긴 빗질 이동은 후퇴를 사용합니다." #~ msgstr "0이 아닌 경우 이 거리보다 긴 빗질 이동은 후퇴를 사용합니다."

File diff suppressed because it is too large Load Diff

Some files were not shown because too many files have changed in this diff Show More