Merge branch 'master' into feature_multiextruder_machinesettings

This commit is contained in:
fieldOfView 2017-04-21 19:31:44 +02:00
commit 4d12ab1296
157 changed files with 24335 additions and 2374 deletions

18
.gitignore vendored
View file

@ -19,6 +19,7 @@ LC_MESSAGES
*~
*.qm
.idea
cura.desktop
# Eclipse+PyDev
.project
@ -33,4 +34,21 @@ plugins/Doodle3D-cura-plugin
plugins/GodMode
plugins/PostProcessingPlugin
plugins/X3GWriter
plugins/FlatProfileExporter
plugins/cura-god-mode-plugin
#Build stuff
CMakeCache.txt
CMakeFiles
CPackSourceConfig.cmake
Testing/
CTestTestfile.cmake
Makefile*
junit-pytest-*
CuraVersion.py
cmake_install.cmake
#Debug
*.gcode
run.sh

View file

@ -2,6 +2,7 @@ from UM.Scene.Iterator.DepthFirstIterator import DepthFirstIterator
from UM.Logger import Logger
from UM.Math.Vector import Vector
from cura.ShapeArray import ShapeArray
from cura import ZOffsetDecorator
from collections import namedtuple
@ -12,12 +13,15 @@ import copy
## Return object for bestSpot
LocationSuggestion = namedtuple("LocationSuggestion", ["x", "y", "penalty_points", "priority"])
## The Arrange classed is used together with ShapeArray. Use it to find
# good locations for objects that you try to put on a build place.
# Different priority schemes can be defined so it alters the behavior while using
# the same logic.
class Arrange:
def __init__(self, x, y, offset_x, offset_y, scale=1):
build_volume = None
def __init__(self, x, y, offset_x, offset_y, scale= 1.0):
self.shape = (y, x)
self._priority = numpy.zeros((x, y), dtype=numpy.int32)
self._priority_unique_values = []
@ -25,6 +29,7 @@ class Arrange:
self._scale = scale # convert input coordinates to arrange coordinates
self._offset_x = offset_x
self._offset_y = offset_y
self._last_priority = 0
## Helper to create an Arranger instance
#
@ -43,12 +48,21 @@ class Arrange:
# Only count sliceable objects
if node_.callDecoration("isSliceable"):
fixed_nodes.append(node_)
# place all objects fixed nodes
# Place all objects fixed nodes
for fixed_node in fixed_nodes:
vertices = fixed_node.callDecoration("getConvexHull")
points = copy.deepcopy(vertices._points)
shape_arr = ShapeArray.fromPolygon(points, scale = scale)
arranger.place(0, 0, shape_arr)
# If a build volume was set, add the disallowed areas
if Arrange.build_volume:
disallowed_areas = Arrange.build_volume.getDisallowedAreas()
for area in disallowed_areas:
points = copy.deepcopy(area._points)
shape_arr = ShapeArray.fromPolygon(points, scale = scale)
arranger.place(0, 0, shape_arr)
return arranger
## Find placement for a node (using offset shape) and place it (using hull shape)
@ -56,26 +70,31 @@ class Arrange:
# \param node
# \param offset_shape_arr ShapeArray with offset, used to find location
# \param hull_shape_arr ShapeArray without offset, for placing the shape
# \param count Number of objects
def findNodePlacements(self, node, offset_shape_arr, hull_shape_arr, count = 1, step = 1):
nodes = []
start_prio = 0
for i in range(count):
new_node = copy.deepcopy(node)
def findNodePlacement(self, node, offset_shape_arr, hull_shape_arr, step = 1):
new_node = copy.deepcopy(node)
best_spot = self.bestSpot(
offset_shape_arr, start_prio = self._last_priority, step = step)
x, y = best_spot.x, best_spot.y
best_spot = self.bestSpot(
offset_shape_arr, start_prio = start_prio, step = step)
x, y = best_spot.x, best_spot.y
start_prio = best_spot.priority
if x is not None: # We could find a place
new_node.setPosition(Vector(x, 0, y))
self.place(x, y, hull_shape_arr) # take place before the next one
else:
Logger.log("d", "Could not find spot!")
new_node.setPosition(Vector(200, 0, 100 + i * 20))
# Save the last priority.
self._last_priority = best_spot.priority
nodes.append(new_node)
return nodes
# Ensure that the object is above the build platform
new_node.removeDecorator(ZOffsetDecorator.ZOffsetDecorator)
if new_node.getBoundingBox():
center_y = new_node.getWorldPosition().y - new_node.getBoundingBox().bottom
else:
center_y = 0
if x is not None: # We could find a place
new_node.setPosition(Vector(x, center_y, y))
found_spot = True
self.place(x, y, hull_shape_arr) # place the object in arranger
else:
Logger.log("d", "Could not find spot!"),
found_spot = False
new_node.setPosition(Vector(200, center_y, 100))
return new_node, found_spot
## Fill priority, center is best. Lower value is better
# This is a strategy for the arranger.
@ -95,7 +114,7 @@ class Arrange:
self._priority_unique_values.sort()
## Return the amount of "penalty points" for polygon, which is the sum of priority
# 999999 if occupied
# None if occupied
# \param x x-coordinate to check shape
# \param y y-coordinate
# \param shape_arr the ShapeArray object to place
@ -109,9 +128,9 @@ class Arrange:
offset_x:offset_x + shape_arr.arr.shape[1]]
try:
if numpy.any(occupied_slice[numpy.where(shape_arr.arr == 1)]):
return 999999
return None
except IndexError: # out of bounds if you try to place an object outside
return 999999
return None
prio_slice = self._priority[
offset_y:offset_y + shape_arr.arr.shape[0],
offset_x:offset_x + shape_arr.arr.shape[1]]
@ -128,8 +147,8 @@ class Arrange:
start_idx = start_idx_list[0][0]
else:
start_idx = 0
for prio in self._priority_unique_values[start_idx::step]:
tryout_idx = numpy.where(self._priority == prio)
for priority in self._priority_unique_values[start_idx::step]:
tryout_idx = numpy.where(self._priority == priority)
for idx in range(len(tryout_idx[0])):
x = tryout_idx[0][idx]
y = tryout_idx[1][idx]
@ -138,9 +157,9 @@ class Arrange:
# array to "world" coordinates
penalty_points = self.checkShape(projected_x, projected_y, shape_arr)
if penalty_points != 999999:
return LocationSuggestion(x = projected_x, y = projected_y, penalty_points = penalty_points, priority = prio)
return LocationSuggestion(x = None, y = None, penalty_points = None, priority = prio) # No suitable location found :-(
if penalty_points is not None:
return LocationSuggestion(x = projected_x, y = projected_y, penalty_points = penalty_points, priority = priority)
return LocationSuggestion(x = None, y = None, penalty_points = None, priority = priority) # No suitable location found :-(
## Place the object.
# Marks the locations in self._occupied and self._priority

31
cura/ArrangeObjectsJob.py Normal file → Executable file
View file

@ -5,7 +5,9 @@ from UM.Job import Job
from UM.Scene.SceneNode import SceneNode
from UM.Math.Vector import Vector
from UM.Operations.SetTransformOperation import SetTransformOperation
from UM.Operations.TranslateOperation import TranslateOperation
from UM.Operations.GroupedOperation import GroupedOperation
from UM.Logger import Logger
from UM.Message import Message
from UM.i18n import i18nCatalog
i18n_catalog = i18nCatalog("cura")
@ -44,6 +46,7 @@ class ArrangeObjectsJob(Job):
last_priority = start_priority
last_size = None
grouped_operation = GroupedOperation()
found_solution_for_all = True
for idx, (size, node, offset_shape_arr, hull_shape_arr) in enumerate(nodes_arr):
# For performance reasons, we assume that when a location does not fit,
# it will also not fit for the next object (while what can be untrue).
@ -54,20 +57,30 @@ class ArrangeObjectsJob(Job):
start_priority = 0
best_spot = arranger.bestSpot(offset_shape_arr, start_prio=start_priority, step=10)
x, y = best_spot.x, best_spot.y
last_size = size
last_priority = best_spot.priority
node.removeDecorator(ZOffsetDecorator)
if node.getBoundingBox():
center_y = node.getWorldPosition().y - node.getBoundingBox().bottom
else:
center_y = 0
if x is not None: # We could find a place
last_size = size
last_priority = best_spot.priority
arranger.place(x, y, hull_shape_arr) # take place before the next one
node.removeDecorator(ZOffsetDecorator)
if node.getBoundingBox():
center_y = node.getWorldPosition().y - node.getBoundingBox().bottom
else:
center_y = 0
grouped_operation.addOperation(SetTransformOperation(node, Vector(x, center_y, y)))
grouped_operation.addOperation(TranslateOperation(node, Vector(x, center_y, y), set_position = True))
else:
Logger.log("d", "Arrange all: could not find spot!")
found_solution_for_all = False
grouped_operation.addOperation(TranslateOperation(node, Vector(200, center_y, - idx * 20), set_position = True))
status_message.setProgress((idx + 1) / len(nodes_arr) * 100)
Job.yieldThread()
grouped_operation.push()
status_message.hide()
status_message.hide()
if not found_solution_for_all:
no_full_solution_message = Message(i18n_catalog.i18nc("@info:status", "Unable to find a location within the build volume for all objects"))
no_full_solution_message.show()

View file

@ -25,6 +25,8 @@ catalog = i18nCatalog("cura")
import numpy
import math
from typing import List
# Setting for clearance around the prime
PRIME_CLEARANCE = 6.5
@ -129,7 +131,7 @@ class BuildVolume(SceneNode):
## Updates the listeners that listen for changes in per-mesh stacks.
#
# \param node The node for which the decorators changed.
def _updateNodeListeners(self, node):
def _updateNodeListeners(self, node: SceneNode):
per_mesh_stack = node.callDecoration("getStack")
if per_mesh_stack:
per_mesh_stack.propertyChanged.connect(self._onSettingPropertyChanged)
@ -139,21 +141,25 @@ class BuildVolume(SceneNode):
self._updateDisallowedAreasAndRebuild()
def setWidth(self, width):
if width: self._width = width
if width is not None:
self._width = width
def setHeight(self, height):
if height: self._height = height
if height is not None:
self._height = height
def setDepth(self, depth):
if depth: self._depth = depth
if depth is not None:
self._depth = depth
def setShape(self, shape):
if shape: self._shape = shape
def setShape(self, shape: str):
if shape:
self._shape = shape
def getDisallowedAreas(self):
def getDisallowedAreas(self) -> List[Polygon]:
return self._disallowed_areas
def setDisallowedAreas(self, areas):
def setDisallowedAreas(self, areas: List[Polygon]):
self._disallowed_areas = areas
def render(self, renderer):
@ -196,7 +202,6 @@ class BuildVolume(SceneNode):
return
for node in nodes:
# Need to check group nodes later
if node.callDecoration("isGroup"):
group_nodes.append(node) # Keep list of affected group_nodes
@ -208,7 +213,7 @@ class BuildVolume(SceneNode):
# Mark the node as outside the build volume if the bounding box test fails.
if build_volume_bounding_box.intersectsBox(bbox) != AxisAlignedBox.IntersectionResult.FullIntersection:
node._outside_buildarea = True
break
continue
convex_hull = node.callDecoration("getConvexHull")
if convex_hull:
@ -220,7 +225,7 @@ class BuildVolume(SceneNode):
if overlap is None:
continue
node._outside_buildarea = True
break
continue
# Group nodes should override the _outside_buildarea property of their children.
for group_node in group_nodes:
@ -412,10 +417,10 @@ class BuildVolume(SceneNode):
self.updateNodeBoundaryCheck()
def getBoundingBox(self):
def getBoundingBox(self) -> AxisAlignedBox:
return self._volume_aabb
def getRaftThickness(self):
def getRaftThickness(self) -> float:
return self._raft_thickness
def _updateRaftThickness(self):
@ -492,7 +497,7 @@ class BuildVolume(SceneNode):
self._engine_ready = True
self.rebuild()
def _onSettingPropertyChanged(self, setting_key, property_name):
def _onSettingPropertyChanged(self, setting_key: str, property_name: str):
if property_name != "value":
return
@ -525,7 +530,7 @@ class BuildVolume(SceneNode):
if rebuild_me:
self.rebuild()
def hasErrors(self):
def hasErrors(self) -> bool:
return self._has_errors
## Calls _updateDisallowedAreas and makes sure the changes appear in the

View file

@ -59,7 +59,8 @@ class ConvexHullDecorator(SceneNodeDecorator):
hull = self._compute2DConvexHull()
if self._global_stack and self._node:
if self._global_stack.getProperty("print_sequence", "value") == "one_at_a_time" and not self._node.getParent().callDecoration("isGroup"):
# Parent can be None if node is just loaded.
if self._global_stack.getProperty("print_sequence", "value") == "one_at_a_time" and (self._node.getParent() is None or not self._node.getParent().callDecoration("isGroup")):
hull = hull.getMinkowskiHull(Polygon(numpy.array(self._global_stack.getProperty("machine_head_polygon", "value"), numpy.float32)))
hull = self._add2DAdhesionMargin(hull)
return hull
@ -79,7 +80,7 @@ class ConvexHullDecorator(SceneNodeDecorator):
return None
if self._global_stack:
if self._global_stack.getProperty("print_sequence", "value") == "one_at_a_time" and not self._node.getParent().callDecoration("isGroup"):
if self._global_stack.getProperty("print_sequence", "value") == "one_at_a_time" and (self._node.getParent() is None or not self._node.getParent().callDecoration("isGroup")):
head_with_fans = self._compute2DConvexHeadMin()
head_with_fans_with_adhesion_margin = self._add2DAdhesionMargin(head_with_fans)
return head_with_fans_with_adhesion_margin
@ -93,8 +94,7 @@ class ConvexHullDecorator(SceneNodeDecorator):
return None
if self._global_stack:
if self._global_stack.getProperty("print_sequence", "value") == "one_at_a_time" and not self._node.getParent().callDecoration("isGroup"):
if self._global_stack.getProperty("print_sequence", "value") == "one_at_a_time" and (self._node.getParent() is None or not self._node.getParent().callDecoration("isGroup")):
# Printing one at a time and it's not an object in a group
return self._compute2DConvexHull()
return None
@ -335,4 +335,4 @@ class ConvexHullDecorator(SceneNodeDecorator):
## Settings that change the convex hull.
#
# If these settings change, the convex hull should be recalculated.
_influencing_settings = {"xy_offset", "mold_enabled", "mold_width"}
_influencing_settings = {"xy_offset", "mold_enabled", "mold_width"}

View file

@ -39,6 +39,7 @@ from cura.SliceableObjectDecorator import SliceableObjectDecorator
from cura.BlockSlicingDecorator import BlockSlicingDecorator
from cura.ArrangeObjectsJob import ArrangeObjectsJob
from cura.MultiplyObjectsJob import MultiplyObjectsJob
from UM.Settings.SettingDefinition import SettingDefinition, DefinitionPropertyType
from UM.Settings.ContainerRegistry import ContainerRegistry
@ -109,6 +110,10 @@ class CuraApplication(QtApplication):
Q_ENUMS(ResourceTypes)
def __init__(self):
# this list of dir names will be used by UM to detect an old cura directory
for dir_name in ["extruders", "machine_instances", "materials", "plugins", "quality", "user", "variants"]:
Resources.addExpectedDirNameInData(dir_name)
Resources.addSearchPath(os.path.join(QtApplication.getInstallPrefix(), "share", "cura", "resources"))
if not hasattr(sys, "frozen"):
Resources.addSearchPath(os.path.join(os.path.abspath(os.path.dirname(__file__)), "..", "resources"))
@ -325,8 +330,6 @@ class CuraApplication(QtApplication):
experimental
""".replace("\n", ";").replace(" ", ""))
self.applicationShuttingDown.connect(self.saveSettings)
self.engineCreatedSignal.connect(self._onEngineCreated)
@ -596,6 +599,9 @@ class CuraApplication(QtApplication):
# The platform is a child of BuildVolume
self._volume = BuildVolume.BuildVolume(root)
# Set the build volume of the arranger to the used build volume
Arrange.build_volume = self._volume
self.getRenderer().setBackgroundColor(QColor(245, 245, 245))
self._physics = PlatformPhysics.PlatformPhysics(controller, self._volume)
@ -670,6 +676,7 @@ class CuraApplication(QtApplication):
#
# \param engine The QML engine.
def registerObjects(self, engine):
super().registerObjects(engine)
engine.rootContext().setContextProperty("Printer", self)
engine.rootContext().setContextProperty("CuraApplication", self)
self._print_information = PrintInformation.PrintInformation()
@ -851,26 +858,9 @@ class CuraApplication(QtApplication):
# \param min_offset minimum offset to other objects.
@pyqtSlot("quint64", int)
def multiplyObject(self, object_id, count, min_offset = 8):
node = self.getController().getScene().findObject(object_id)
if not node and object_id != 0: # Workaround for tool handles overlapping the selected object
node = Selection.getSelectedObject(0)
# If object is part of a group, multiply group
current_node = node
while current_node.getParent() and current_node.getParent().callDecoration("isGroup"):
current_node = current_node.getParent()
root = self.getController().getScene().getRoot()
arranger = Arrange.create(scene_root = root)
offset_shape_arr, hull_shape_arr = ShapeArray.fromNode(current_node, min_offset = min_offset)
nodes = arranger.findNodePlacements(current_node, offset_shape_arr, hull_shape_arr, count = count)
if nodes:
op = GroupedOperation()
for new_node in nodes:
op.addOperation(AddSceneNodeOperation(new_node, current_node.getParent()))
op.push()
job = MultiplyObjectsJob(object_id, count, min_offset)
job.start()
return
## Center object on platform.
@pyqtSlot("quint64")
@ -1001,7 +991,9 @@ class CuraApplication(QtApplication):
continue # Grouped nodes don't need resetting as their parent (the group) is resetted)
if not node.isSelectable():
continue # i.e. node with layer data
nodes.append(node)
# Skip nodes that are too big
if node.getBoundingBox().width < self._volume.getBoundingBox().width or node.getBoundingBox().depth < self._volume.getBoundingBox().depth:
nodes.append(node)
self.arrange(nodes, fixed_nodes = [])
## Arrange Selection
@ -1295,20 +1287,21 @@ class CuraApplication(QtApplication):
# If there is no convex hull for the node, start calculating it and continue.
if not node.getDecorator(ConvexHullDecorator):
node.addDecorator(ConvexHullDecorator())
for child in node.getAllChildren():
if not child.getDecorator(ConvexHullDecorator):
child.addDecorator(ConvexHullDecorator())
if node.callDecoration("isSliceable"):
# find node location
offset_shape_arr, hull_shape_arr = ShapeArray.fromNode(node, min_offset = min_offset)
# step is for skipping tests to make it a lot faster. it also makes the outcome somewhat rougher
nodes = arranger.findNodePlacements(node, offset_shape_arr, hull_shape_arr, count = 1, step = 10)
# Only check position if it's not already blatantly obvious that it won't fit.
if node.getBoundingBox().width < self._volume.getBoundingBox().width or node.getBoundingBox().depth < self._volume.getBoundingBox().depth:
# Find node location
offset_shape_arr, hull_shape_arr = ShapeArray.fromNode(node, min_offset = min_offset)
for new_node in nodes:
op = AddSceneNodeOperation(new_node, scene.getRoot())
op.push()
else:
op = AddSceneNodeOperation(node, scene.getRoot())
op.push()
# Step is for skipping tests to make it a lot faster. it also makes the outcome somewhat rougher
node, _ = arranger.findNodePlacement(node, offset_shape_arr, hull_shape_arr, step = 10)
op = AddSceneNodeOperation(node, scene.getRoot())
op.push()
scene.sceneChanged.emit(node)
def addNonSliceableExtension(self, extension):

View file

@ -0,0 +1,80 @@
# Copyright (c) 2017 Ultimaker B.V.
# Cura is released under the terms of the AGPLv3 or higher.
from UM.Job import Job
from UM.Scene.SceneNode import SceneNode
from UM.Math.Vector import Vector
from UM.Operations.SetTransformOperation import SetTransformOperation
from UM.Operations.TranslateOperation import TranslateOperation
from UM.Operations.GroupedOperation import GroupedOperation
from UM.Logger import Logger
from UM.Message import Message
from UM.i18n import i18nCatalog
i18n_catalog = i18nCatalog("cura")
from cura.ZOffsetDecorator import ZOffsetDecorator
from cura.Arrange import Arrange
from cura.ShapeArray import ShapeArray
from typing import List
from UM.Application import Application
from UM.Scene.Selection import Selection
from UM.Operations.AddSceneNodeOperation import AddSceneNodeOperation
class MultiplyObjectsJob(Job):
def __init__(self, object_id, count, min_offset = 8):
super().__init__()
self._object_id = object_id
self._count = count
self._min_offset = min_offset
def run(self):
status_message = Message(i18n_catalog.i18nc("@info:status", "Multiplying and placing objects"), lifetime=0,
dismissable=False, progress=0)
status_message.show()
scene = Application.getInstance().getController().getScene()
node = scene.findObject(self._object_id)
if not node and self._object_id != 0: # Workaround for tool handles overlapping the selected object
node = Selection.getSelectedObject(0)
# If object is part of a group, multiply group
current_node = node
while current_node.getParent() and current_node.getParent().callDecoration("isGroup"):
current_node = current_node.getParent()
root = scene.getRoot()
arranger = Arrange.create(scene_root=root)
node_too_big = False
if node.getBoundingBox().width < 300 or node.getBoundingBox().depth < 300:
offset_shape_arr, hull_shape_arr = ShapeArray.fromNode(current_node, min_offset=self._min_offset)
else:
node_too_big = True
nodes = []
found_solution_for_all = True
for i in range(self._count):
# We do place the nodes one by one, as we want to yield in between.
if not node_too_big:
node, solution_found = arranger.findNodePlacement(current_node, offset_shape_arr, hull_shape_arr)
if node_too_big or not solution_found:
found_solution_for_all = False
new_location = node.getPosition()
new_location = new_location.set(z = 100 - i * 20)
node.setPosition(new_location)
nodes.append(node)
Job.yieldThread()
status_message.setProgress((i + 1) / self._count * 100)
if nodes:
op = GroupedOperation()
for new_node in nodes:
op.addOperation(AddSceneNodeOperation(new_node, current_node.getParent()))
op.push()
status_message.hide()
if not found_solution_for_all:
no_full_solution_message = Message(i18n_catalog.i18nc("@info:status", "Unable to find a location within the build volume for all objects"))
no_full_solution_message.show()

View file

@ -54,6 +54,10 @@ class PlatformPhysics:
# We try to shuffle all the nodes to prevent "locked" situations, where iteration B inverts iteration A.
# By shuffling the order of the nodes, this might happen a few times, but at some point it will resolve.
nodes = list(BreadthFirstIterator(root))
# Only check nodes inside build area.
nodes = [node for node in nodes if (hasattr(node, "_outside_buildarea") and not node._outside_buildarea)]
random.shuffle(nodes)
for node in nodes:
if node is root or type(node) is not SceneNode or node.getBoundingBox() is None:

View file

@ -16,9 +16,9 @@ class QualityManager:
## Get the singleton instance for this class.
@classmethod
def getInstance(cls):
def getInstance(cls) -> "QualityManager":
# Note: Explicit use of class name to prevent issues with inheritance.
if QualityManager.__instance is None:
if not QualityManager.__instance:
QualityManager.__instance = cls()
return QualityManager.__instance

View file

@ -244,7 +244,13 @@ class ExtruderManager(QObject):
material = materials[0]
preferred_material_id = machine_definition.getMetaDataEntry("preferred_material")
if preferred_material_id:
search_criteria = { "type": "material", "id": preferred_material_id}
global_stack = ContainerRegistry.getInstance().findContainerStacks(id = machine_id)
if global_stack:
approximate_material_diameter = round(global_stack[0].getProperty("material_diameter", "value"))
else:
approximate_material_diameter = round(machine_definition.getProperty("material_diameter", "value"))
search_criteria = { "type": "material", "id": preferred_material_id, "approximate_diameter": approximate_material_diameter}
if machine_definition.getMetaDataEntry("has_machine_materials"):
search_criteria["definition"] = machine_definition_id

View file

@ -15,9 +15,7 @@ from UM.Message import Message
from UM.Settings.ContainerRegistry import ContainerRegistry
from UM.Settings.ContainerStack import ContainerStack
from UM.Settings.InstanceContainer import InstanceContainer
from UM.Settings.SettingDefinition import SettingDefinition
from UM.Settings.SettingFunction import SettingFunction
from UM.Settings.Validator import ValidatorState
from UM.Signal import postponeSignals
from cura.QualityManager import QualityManager
@ -27,6 +25,11 @@ from cura.Settings.ExtruderManager import ExtruderManager
from UM.i18n import i18nCatalog
catalog = i18nCatalog("cura")
from typing import TYPE_CHECKING, Optional
if TYPE_CHECKING:
from UM.Settings.DefinitionContainer import DefinitionContainer
import os
class MachineManager(QObject):
@ -329,10 +332,11 @@ class MachineManager(QObject):
name = self._createUniqueName("machine", "", name, definition.getName())
new_global_stack = ContainerStack(name)
new_global_stack.addMetaDataEntry("type", "machine")
new_global_stack.addContainer(definition)
container_registry.addContainer(new_global_stack)
variant_instance_container = self._updateVariantContainer(definition)
material_instance_container = self._updateMaterialContainer(definition, variant_instance_container)
material_instance_container = self._updateMaterialContainer(definition, new_global_stack, variant_instance_container)
quality_instance_container = self._updateQualityContainer(definition, variant_instance_container, material_instance_container)
current_settings_instance_container = InstanceContainer(name + "_current_settings")
@ -341,7 +345,7 @@ class MachineManager(QObject):
current_settings_instance_container.setDefinition(definitions[0])
container_registry.addContainer(current_settings_instance_container)
new_global_stack.addContainer(definition)
if variant_instance_container:
new_global_stack.addContainer(variant_instance_container)
if material_instance_container:
@ -760,7 +764,7 @@ class MachineManager(QObject):
if old_material:
preferred_material_name = old_material.getName()
self.setActiveMaterial(self._updateMaterialContainer(self._global_container_stack.getBottom(), containers[0], preferred_material_name).id)
self.setActiveMaterial(self._updateMaterialContainer(self._global_container_stack.getBottom(), self._global_container_stack, containers[0], preferred_material_name).id)
else:
Logger.log("w", "While trying to set the active variant, no variant was found to replace.")
@ -1094,7 +1098,7 @@ class MachineManager(QObject):
def createMachineManager(engine=None, script_engine=None):
return MachineManager()
def _updateVariantContainer(self, definition):
def _updateVariantContainer(self, definition: "DefinitionContainer"):
if not definition.getMetaDataEntry("has_variants"):
return self._empty_variant_container
machine_definition_id = Application.getInstance().getMachineManager().getQualityDefinitionId(definition)
@ -1110,11 +1114,12 @@ class MachineManager(QObject):
return self._empty_variant_container
def _updateMaterialContainer(self, definition, variant_container = None, preferred_material_name = None):
def _updateMaterialContainer(self, definition: "DefinitionContainer", stack: "ContainerStack", variant_container: Optional["InstanceContainer"] = None, preferred_material_name: Optional[str] = None):
if not definition.getMetaDataEntry("has_materials"):
return self._empty_material_container
search_criteria = { "type": "material" }
approximate_material_diameter = round(stack.getProperty("material_diameter", "value"))
search_criteria = { "type": "material", "approximate_diameter": approximate_material_diameter }
if definition.getMetaDataEntry("has_machine_materials"):
search_criteria["definition"] = self.getQualityDefinitionId(definition)
@ -1146,7 +1151,7 @@ class MachineManager(QObject):
Logger.log("w", "Unable to find a material container with provided criteria, returning an empty one instead.")
return self._empty_material_container
def _updateQualityContainer(self, definition, variant_container, material_container = None, preferred_quality_name = None):
def _updateQualityContainer(self, definition: "DefinitionContainer", variant_container: "ContainerStack", material_container = None, preferred_quality_name: Optional[str] = None):
container_registry = ContainerRegistry.getInstance()
search_criteria = { "type": "quality" }

View file

@ -32,9 +32,9 @@ class ProfilesModel(InstanceContainersModel):
## Get the singleton instance for this class.
@classmethod
def getInstance(cls):
def getInstance(cls) -> "ProfilesModel":
# Note: Explicit use of class name to prevent issues with inheritance.
if ProfilesModel.__instance is None:
if not ProfilesModel.__instance:
ProfilesModel.__instance = cls()
return ProfilesModel.__instance

View file

@ -43,8 +43,10 @@ class ShapeArray:
transform_x = transform._data[0][3]
transform_y = transform._data[2][3]
hull_verts = node.callDecoration("getConvexHull")
# For one_at_a_time printing you need the convex hull head.
hull_head_verts = node.callDecoration("getConvexHullHead") or hull_verts
offset_verts = hull_verts.getMinkowskiHull(Polygon.approximatedCircle(min_offset))
offset_verts = hull_head_verts.getMinkowskiHull(Polygon.approximatedCircle(min_offset))
offset_points = copy.deepcopy(offset_verts._points) # x, y
offset_points[:, 0] = numpy.add(offset_points[:, 0], -transform_x)
offset_points[:, 1] = numpy.add(offset_points[:, 1], -transform_y)

View file

@ -179,6 +179,7 @@ class GCodeReader(MeshReader):
def _processGCode(self, G, line, position, path):
func = getattr(self, "_gCode%s" % G, None)
line = line.split(";", 1)[0] # Remove comments (if any)
if func is not None:
s = line.upper().split(" ")
x, y, z, e = None, None, None, None

View file

@ -200,7 +200,7 @@ class NetworkPrinterOutputDevice(PrinterOutputDevice):
def _onAuthenticationRequired(self, reply, authenticator):
if self._authentication_id is not None and self._authentication_key is not None:
Logger.log("d", "Authentication was required. Setting up authenticator with ID %s and key", self._authentication_id, self._getSafeAuthKey())
Logger.log("d", "Authentication was required. Setting up authenticator with ID %s and key %s", self._authentication_id, self._getSafeAuthKey())
authenticator.setUser(self._authentication_id)
authenticator.setPassword(self._authentication_key)
else:
@ -283,10 +283,8 @@ class NetworkPrinterOutputDevice(PrinterOutputDevice):
#
# /param temperature The new target temperature of the bed.
def _setTargetBedTemperature(self, temperature):
if self._target_bed_temperature == temperature:
if not self._updateTargetBedTemperature(temperature):
return
self._target_bed_temperature = temperature
self.targetBedTemperatureChanged.emit()
url = QUrl("http://" + self._address + self._api_prefix + "printer/bed/temperature/target")
data = str(temperature)
@ -294,6 +292,17 @@ class NetworkPrinterOutputDevice(PrinterOutputDevice):
put_request.setHeader(QNetworkRequest.ContentTypeHeader, "application/json")
self._manager.put(put_request, data.encode())
## Updates the target bed temperature from the printer, and emit a signal if it was changed.
#
# /param temperature The new target temperature of the bed.
# /return boolean, True if the temperature was changed, false if the new temperature has the same value as the already stored temperature
def _updateTargetBedTemperature(self, temperature):
if self._target_bed_temperature == temperature:
return False
self._target_bed_temperature = temperature
self.targetBedTemperatureChanged.emit()
return True
def _stopCamera(self):
self._camera_timer.stop()
if self._image_reply:
@ -528,7 +537,7 @@ class NetworkPrinterOutputDevice(PrinterOutputDevice):
bed_temperature = self._json_printer_state["bed"]["temperature"]["current"]
self._setBedTemperature(bed_temperature)
target_bed_temperature = self._json_printer_state["bed"]["temperature"]["target"]
self._setTargetBedTemperature(target_bed_temperature)
self._updateTargetBedTemperature(target_bed_temperature)
head_x = self._json_printer_state["heads"][0]["position"]["x"]
head_y = self._json_printer_state["heads"][0]["position"]["y"]
@ -716,7 +725,8 @@ class NetworkPrinterOutputDevice(PrinterOutputDevice):
## Start requesting data from printer
def connect(self):
self.close() # Ensure that previous connection (if any) is killed.
if self.isConnected():
self.close() # Close previous connection
self._createNetworkManager()
@ -815,10 +825,10 @@ class NetworkPrinterOutputDevice(PrinterOutputDevice):
return # Stop trying to zip, abort was called.
if self._use_gzip:
batched_line += line
# if the gcode was read from a gcode file, self._gcode will be a list of all lines in that file.
# Compressing line by line in this case is extremely slow, so we need to batch them.
if len(batched_line) < max_chars_per_line:
batched_line += line
continue
byte_array_file_data += _compress_data_and_notify_qt(batched_line)
@ -1088,7 +1098,7 @@ class NetworkPrinterOutputDevice(PrinterOutputDevice):
self._authentication_key = data["key"]
self._authentication_id = data["id"]
Logger.log("i", "Got a new authentication ID (%s) and KEY (%S). Waiting for authorization.", self._authentication_id, self._getSafeAuthKey())
Logger.log("i", "Got a new authentication ID (%s) and KEY (%s). Waiting for authorization.", self._authentication_id, self._getSafeAuthKey())
# Check if the authentication is accepted.
self._checkAuthentication()

View file

@ -157,13 +157,15 @@ class NetworkPrinterOutputDevicePlugin(OutputDevicePlugin):
for key in self._printers:
if key == active_machine.getMetaDataEntry("um_network_key"):
Logger.log("d", "Connecting [%s]..." % key)
self._printers[key].connect()
self._printers[key].connectionStateChanged.connect(self._onPrinterConnectionStateChanged)
if not self._printers[key].isConnected():
Logger.log("d", "Connecting [%s]..." % key)
self._printers[key].connect()
self._printers[key].connectionStateChanged.connect(self._onPrinterConnectionStateChanged)
else:
if self._printers[key].isConnected():
Logger.log("d", "Closing connection [%s]..." % key)
self._printers[key].close()
self._printers[key].connectionStateChanged.disconnect(self._onPrinterConnectionStateChanged)
## Because the model needs to be created in the same thread as the QMLEngine, we use a signal.
def addPrinter(self, name, address, properties):
@ -181,9 +183,9 @@ class NetworkPrinterOutputDevicePlugin(OutputDevicePlugin):
printer = self._printers.pop(name, None)
if printer:
if printer.isConnected():
printer.disconnect()
printer.connectionStateChanged.disconnect(self._onPrinterConnectionStateChanged)
Logger.log("d", "removePrinter, disconnecting [%s]..." % name)
printer.disconnect()
self.printerListChanged.emit()
## Handler for when the connection state of one of the detected printers changes

View file

@ -148,6 +148,7 @@ class USBPrinterOutputDevice(PrinterOutputDevice):
## Start a print based on a g-code.
# \param gcode_list List with gcode (strings).
def printGCode(self, gcode_list):
Logger.log("d", "Started printing g-code")
if self._progress or self._connection_state != ConnectionState.connected:
self._error_message = Message(catalog.i18nc("@info:status", "Unable to start a new job because the printer is busy or not connected."))
self._error_message.show()
@ -183,6 +184,7 @@ class USBPrinterOutputDevice(PrinterOutputDevice):
## Private function (threaded) that actually uploads the firmware.
def _updateFirmware(self):
Logger.log("d", "Attempting to update firmware")
self._error_code = 0
self.setProgress(0, 100)
self._firmware_update_finished = False
@ -536,6 +538,7 @@ class USBPrinterOutputDevice(PrinterOutputDevice):
self._sendNextGcodeLine()
elif b"resend" in line.lower() or b"rs" in line: # Because a resend can be asked with "resend" and "rs"
try:
Logger.log("d", "Got a resend response")
self._gcode_position = int(line.replace(b"N:",b" ").replace(b"N",b" ").replace(b":",b" ").split()[-1])
except:
if b"rs" in line:
@ -563,19 +566,19 @@ class USBPrinterOutputDevice(PrinterOutputDevice):
line = line[:line.find(";")]
line = line.strip()
# Don't send empty lines. But we do have to send something, so send m105 instead.
if line == "":
# Don't send empty lines. But we do have to send something, so send
# m105 instead.
# Don't send the M0 or M1 to the machine, as M0 and M1 are handled as
# an LCD menu pause.
if line == "" or line == "M0" or line == "M1":
line = "M105"
try:
if line == "M0" or line == "M1":
line = "M105" # Don't send the M0 or M1 to the machine, as M0 and M1 are handled as an LCD menu pause.
if ("G0" in line or "G1" in line) and "Z" in line:
z = float(re.search("Z([0-9\.]*)", line).group(1))
if self._current_z != z:
self._current_z = z
except Exception as e:
Logger.log("e", "Unexpected error with printer connection: %s" % e)
Logger.log("e", "Unexpected error with printer connection, could not parse current Z: %s: %s" % (e, line))
self._setErrorState("Unexpected error: %s" %e)
checksum = functools.reduce(lambda x,y: x^y, map(ord, "N%d%s" % (self._gcode_position, line)))
@ -674,4 +677,4 @@ class USBPrinterOutputDevice(PrinterOutputDevice):
def cancelPreheatBed(self):
Logger.log("i", "Cancelling pre-heating of the bed.")
self._setTargetBedTemperature(0)
self.preheatBedRemainingTimeChanged.emit()
self.preheatBedRemainingTimeChanged.emit()

View file

@ -3,6 +3,7 @@
import copy
import io
from typing import Optional
import xml.etree.ElementTree as ET
from UM.Resources import Resources
@ -11,7 +12,7 @@ from UM.Util import parseBool
from cura.CuraApplication import CuraApplication
import UM.Dictionary
from UM.Settings.InstanceContainer import InstanceContainer
from UM.Settings.InstanceContainer import InstanceContainer, InvalidInstanceError
from UM.Settings.ContainerRegistry import ContainerRegistry
## Handles serializing and deserializing material containers from an XML file
@ -118,6 +119,7 @@ class XmlMaterialProfile(InstanceContainer):
metadata.pop("variant", "")
metadata.pop("type", "")
metadata.pop("base_file", "")
metadata.pop("approximate_diameter", "")
## Begin Name Block
builder.start("name")
@ -369,8 +371,30 @@ class XmlMaterialProfile(InstanceContainer):
self._dirty = False
self._path = ""
def getConfigurationTypeFromSerialized(self, serialized: str) -> Optional[str]:
return "material"
def getVersionFromSerialized(self, serialized: str) -> Optional[int]:
version = None
data = ET.fromstring(serialized)
metadata = data.iterfind("./um:metadata/*", self.__namespaces)
for entry in metadata:
tag_name = _tag_without_namespace(entry)
if tag_name == "version":
try:
version = int(entry.text)
except Exception as e:
raise InvalidInstanceError("Invalid version string '%s': %s" % (entry.text, e))
break
if version is None:
raise InvalidInstanceError("Missing version in metadata")
return version
## Overridden from InstanceContainer
def deserialize(self, serialized):
# update the serialized data first
from UM.Settings.Interfaces import ContainerInterface
serialized = ContainerInterface.deserialize(self, serialized)
data = ET.fromstring(serialized)
# Reset previous metadata
@ -405,10 +429,10 @@ class XmlMaterialProfile(InstanceContainer):
continue
meta_data[tag_name] = entry.text
if not "description" in meta_data:
if "description" not in meta_data:
meta_data["description"] = ""
if not "adhesion_info" in meta_data:
if "adhesion_info" not in meta_data:
meta_data["adhesion_info"] = ""
property_values = {}
@ -437,6 +461,7 @@ class XmlMaterialProfile(InstanceContainer):
Logger.log("d", "Unsupported material setting %s", key)
self._cached_values = global_setting_values
meta_data["approximate_diameter"] = round(diameter)
meta_data["compatible"] = global_compatibility
self.setMetaData(meta_data)
self._dirty = False
@ -581,7 +606,8 @@ class XmlMaterialProfile(InstanceContainer):
"Ultimaker 2 Extended": "ultimaker2_extended",
"Ultimaker 2 Extended+": "ultimaker2_extended_plus",
"Ultimaker Original": "ultimaker_original",
"Ultimaker Original+": "ultimaker_original_plus"
"Ultimaker Original+": "ultimaker_original_plus",
"IMADE3D JellyBOX": "imade3d_jellybox"
}
# Map of recognised namespaces with a proper prefix.

View file

@ -9,12 +9,18 @@
"manufacturer": "Cartesio bv",
"category": "Other",
"file_formats": "text/x-gcode",
"has_machine_quality": true,
"has_materials": true,
"has_machine_materials": true,
"has_variant_materials": true,
"has_variants": true,
"variants_name": "Nozzle size",
"preferred_variant": "*0.4*",
"preferred_material": "*pla*",
"preferred_quality": "*draft*",
"preferred_quality": "*normal*",
"machine_extruder_trains":
{
"0": "cartesio_extruder_0",
@ -37,14 +43,22 @@
"machine_depth": { "default_value": 270 },
"machine_width": { "default_value": 430 },
"machine_gcode_flavor": { "default_value": "RepRap (Marlin/Sprinter)" },
"material_print_temp_wait": { "default_value": false },
"material_bed_temp_wait": { "default_value": false },
"infill_pattern": { "default_value": "grid"},
"prime_tower_enable": { "default_value": true },
"prime_tower_wall_thickness": { "resolve": 0.7 },
"prime_tower_position_x": { "default_value": 50 },
"prime_tower_position_y": { "default_value": 71 },
"machine_start_gcode": {
"default_value": "M92 E159\nG21\nG90\nM42 S255 P13;chamber lights\nM42 S255 P12;fume extraction\nM140 S{material_bed_temperature}\n\nM117 Homing Y ......\nG28 Y\nM117 Homing X ......\nG28 X\nM117 Homing Z ......\nG28 Z F100\nG1 Z10 F600\nG1 X70 Y20 F9000;go to wipe point\n\nM190 S{material_bed_temperature}\nM104 S120 T1\nM109 S{material_print_temperature} T0\nM104 S21 T1\n\nM117 purging nozzle....\n\nT0\nG92 E0;set E\nG1 E10 F100\nG92 E0\nG1 E-{retraction_amount} F600\nG92 E0\n\nM117 wiping nozzle....\n\nG1 X1 Y24 F3000\nG1 X70 F9000\n\nM117 Printing .....\n\nG1 E1 F100\nG92 E-1\n"
"default_value": "\nM104 S120 T1\nM104 S120 T2\nM104 S120 T3\n\nM92 E159\n\nG21\nG90\nM42 S255 P13;chamber lights\nM42 S255 P12;fume extraction\n\nM117 Homing Y ......\nG28 Y\nM117 Homing X ......\nG28 X\nM117 Homing Z ......\nG28 Z F100\nG1 Z10 F600\nG1 X70 Y20 F9000;go to wipe point\n\nM190 S{material_bed_temperature_layer_0}\n\nM117 Heating for 50 sec.\nG4 S20\nM117 Heating for 30 sec.\nG4 S20\nM117 Heating for 10 sec.\nM300 S600 P1000\nG4 S9\n\nM117 purging nozzle....\nT0\nG92 E0;set E\nG1 E10 F100\nG92 E0\nG1 E-1 F600\n\nM117 wiping nozzle....\nG1 X1 Y24 F3000\nG1 X70 F9000\n\nM104 S21 T1\nM104 S21 T2\nM104 S21 T3\n\nM117 Printing .....\n"
},
"machine_end_gcode": {
"default_value": "; -- END GCODE --\nM106 S255\nM140 S5\nM104 S5 T0\nM104 S5 T1\nG1 X20.0 Y260.0 F6000\nG4 S7\nM84\nG4 S90\nM107\nM42 P12 S0\nM42 P13 S0\nM84\n; -- end of END GCODE --"
"default_value": "; -- END GCODE --\nM106 S255\nM140 S5\nM104 S5 T0\nM104 S5 T1\nM104 S5 T2\nM104 S5 T3\nG1 X20.0 Y260.0 F6000\nG4 S7\nM84\nG4 S90\nM107\nM42 P12 S0\nM42 P13 S0\nM84\nT0\n; -- end of GCODE --"
},
"layer_height": { "maximum_value": "(0.8 * min(extruderValues('machine_nozzle_size')))" },
"layer_height_0": { "maximum_value": "(0.8 * min(extruderValues('machine_nozzle_size')))" },
"layer_height_0": { "resolve": "0.2 if min(extruderValues('machine_nozzle_size')) < 0.3 else 0.3 "},
"machine_nozzle_heat_up_speed": {"default_value": 20},
"machine_nozzle_cool_down_speed": {"default_value": 20},
"machine_min_cool_heat_time_window": {"default_value": 5}

View file

@ -845,7 +845,7 @@
"unit": "mm",
"default_value": 0.8,
"minimum_value": "0",
"minimum_value_warning": "3 * resolveOrValue('layer_height')",
"minimum_value_warning": "0.2 + resolveOrValue('layer_height')",
"maximum_value": "machine_height",
"type": "float",
"value": "top_bottom_thickness",
@ -860,7 +860,7 @@
"minimum_value": "0",
"maximum_value_warning": "100",
"type": "int",
"minimum_value_warning": "4",
"minimum_value_warning": "2",
"value": "0 if infill_sparse_density == 100 else math.ceil(round(top_thickness / resolveOrValue('layer_height'), 4))",
"settable_per_mesh": true
}
@ -873,7 +873,7 @@
"unit": "mm",
"default_value": 0.6,
"minimum_value": "0",
"minimum_value_warning": "3 * resolveOrValue('layer_height')",
"minimum_value_warning": "0.2 + resolveOrValue('layer_height')",
"type": "float",
"value": "top_bottom_thickness",
"maximum_value": "machine_height",
@ -885,7 +885,7 @@
"label": "Bottom Layers",
"description": "The number of bottom layers. When calculated by the bottom thickness, this value is rounded to a whole number.",
"minimum_value": "0",
"minimum_value_warning": "4",
"minimum_value_warning": "2",
"default_value": 6,
"type": "int",
"value": "999999 if infill_sparse_density == 100 else math.ceil(round(bottom_thickness / resolveOrValue('layer_height'), 4))",
@ -1301,7 +1301,7 @@
"type": "int",
"minimum_value": "0",
"maximum_value_warning": "4",
"maximum_value": "(20 - math.log(infill_line_distance) / math.log(2)) if infill_line_distance > 0 and not spaghetti_infill_enabled else 0",
"maximum_value": "0 if spaghetti_infill_enabled else (999999 if infill_line_distance == 0 else (20 - math.log(infill_line_distance) / math.log(2)))",
"enabled": "infill_sparse_density > 0 and infill_pattern != 'cubicsubdiv' and not spaghetti_infill_enabled",
"settable_per_mesh": true
},
@ -2332,7 +2332,6 @@
"unit": "mm/s",
"type": "float",
"minimum_value": "0.1",
"minimum_value_warning": "5",
"maximum_value_warning": "50",
"default_value": 20,
"enabled": "resolveOrValue('jerk_enabled')",
@ -2346,7 +2345,6 @@
"unit": "mm/s",
"type": "float",
"minimum_value": "0.1",
"minimum_value_warning": "5",
"maximum_value_warning": "50",
"default_value": 20,
"value": "jerk_print",
@ -2360,7 +2358,6 @@
"unit": "mm/s",
"type": "float",
"minimum_value": "0.1",
"minimum_value_warning": "5",
"maximum_value_warning": "50",
"default_value": 20,
"value": "jerk_print",
@ -2375,7 +2372,6 @@
"unit": "mm/s",
"type": "float",
"minimum_value": "0.1",
"minimum_value_warning": "5",
"maximum_value_warning": "50",
"default_value": 20,
"value": "jerk_wall",
@ -2389,7 +2385,6 @@
"unit": "mm/s",
"type": "float",
"minimum_value": "0.1",
"minimum_value_warning": "5",
"maximum_value_warning": "50",
"default_value": 20,
"value": "jerk_wall",
@ -2405,7 +2400,6 @@
"unit": "mm/s",
"type": "float",
"minimum_value": "0.1",
"minimum_value_warning": "5",
"maximum_value_warning": "50",
"default_value": 20,
"value": "jerk_print",
@ -2419,7 +2413,6 @@
"unit": "mm/s",
"type": "float",
"minimum_value": "0.1",
"minimum_value_warning": "5",
"maximum_value_warning": "50",
"default_value": 20,
"value": "jerk_print",
@ -2438,7 +2431,6 @@
"default_value": 20,
"value": "jerk_support",
"minimum_value": "0.1",
"minimum_value_warning": "5",
"maximum_value_warning": "50",
"enabled": "resolveOrValue('jerk_enabled') and support_enable",
"limit_to_extruder": "support_infill_extruder_nr",
@ -2454,7 +2446,6 @@
"default_value": 20,
"value": "jerk_support",
"minimum_value": "0.1",
"minimum_value_warning": "5",
"maximum_value_warning": "50",
"enabled": "resolveOrValue('jerk_enabled') and extruderValue(support_interface_extruder_nr, 'support_interface_enable') and support_enable",
"limit_to_extruder": "support_interface_extruder_nr",
@ -2470,7 +2461,6 @@
"unit": "mm/s",
"type": "float",
"minimum_value": "0.1",
"minimum_value_warning": "5",
"maximum_value_warning": "50",
"default_value": 20,
"value": "jerk_print",
@ -2487,7 +2477,6 @@
"type": "float",
"default_value": 30,
"minimum_value": "0.1",
"minimum_value_warning": "5",
"maximum_value_warning": "50",
"value": "jerk_print if magic_spiralize else 30",
"enabled": "resolveOrValue('jerk_enabled')",
@ -2502,7 +2491,6 @@
"default_value": 20,
"value": "jerk_print",
"minimum_value": "0.1",
"minimum_value_warning": "5",
"maximum_value_warning": "50",
"enabled": "resolveOrValue('jerk_enabled')",
"settable_per_mesh": true,
@ -2517,7 +2505,6 @@
"default_value": 20,
"value": "jerk_layer_0",
"minimum_value": "0.1",
"minimum_value_warning": "5",
"maximum_value_warning": "50",
"enabled": "resolveOrValue('jerk_enabled')",
"settable_per_mesh": true
@ -2531,7 +2518,6 @@
"default_value": 20,
"value": "jerk_layer_0 * jerk_travel / jerk_print",
"minimum_value": "0.1",
"minimum_value_warning": "5",
"maximum_value_warning": "50",
"enabled": "resolveOrValue('jerk_enabled')",
"settable_per_extruder": true,
@ -2547,7 +2533,6 @@
"type": "float",
"default_value": 20,
"minimum_value": "0.1",
"minimum_value_warning": "5",
"maximum_value_warning": "50",
"value": "jerk_layer_0",
"enabled": "resolveOrValue('jerk_enabled')",
@ -2851,8 +2836,8 @@
{
"support_enable":
{
"label": "Enable Support",
"description": "Enable support structures. These structures support parts of the model with severe overhangs.",
"label": "Generate Support",
"description": "Generate structures to support parts of the model which have overhangs. Without these structures, such parts would collapse during printing.",
"type": "bool",
"default_value": false,
"settable_per_mesh": true,
@ -3139,7 +3124,7 @@
"type": "float",
"default_value": 1,
"minimum_value": "0",
"minimum_value_warning": "3 * resolveOrValue('layer_height')",
"minimum_value_warning": "0.2 + resolveOrValue('layer_height')",
"maximum_value_warning": "10",
"limit_to_extruder": "support_interface_extruder_nr",
"enabled": "extruderValue(support_interface_extruder_nr, 'support_interface_enable') and support_enable",
@ -3154,7 +3139,7 @@
"type": "float",
"default_value": 1,
"minimum_value": "0",
"minimum_value_warning": "3 * resolveOrValue('layer_height')",
"minimum_value_warning": "0.2 + resolveOrValue('layer_height')",
"maximum_value_warning": "10",
"value": "extruderValue(support_interface_extruder_nr, 'support_interface_height')",
"limit_to_extruder": "support_interface_extruder_nr",
@ -3170,7 +3155,7 @@
"default_value": 1,
"value": "extruderValue(support_interface_extruder_nr, 'support_interface_height')",
"minimum_value": "0",
"minimum_value_warning": "min(3 * resolveOrValue('layer_height'), extruderValue(support_interface_extruder_nr, 'support_bottom_stair_step_height'))",
"minimum_value_warning": "min(0.2 + resolveOrValue('layer_height'), extruderValue(support_interface_extruder_nr, 'support_bottom_stair_step_height'))",
"maximum_value_warning": "10",
"limit_to_extruder": "support_interface_extruder_nr",
"enabled": "extruderValue(support_interface_extruder_nr, 'support_interface_enable') and support_enable",
@ -3555,7 +3540,7 @@
"value": "resolveOrValue('layer_height') * 1.5",
"minimum_value": "0.001",
"minimum_value_warning": "0.04",
"maximum_value_warning": "0.75 * extruderValue(adhesion_extruder_nr, 'raft_interface_line_width')",
"maximum_value_warning": "0.75 * extruderValue(adhesion_extruder_nr, 'machine_nozzle_size')",
"enabled": "resolveOrValue('adhesion_type') == 'raft'",
"settable_per_mesh": false,
"settable_per_extruder": true,
@ -3957,7 +3942,7 @@
"value": "round(max(2 * min(extruderValues('prime_tower_line_width')), 0.5 * (resolveOrValue('prime_tower_size') - math.sqrt(max(0, resolveOrValue('prime_tower_size') ** 2 - max(extruderValues('prime_tower_min_volume')) / resolveOrValue('layer_height'))))), 3)",
"resolve": "max(extruderValues('prime_tower_wall_thickness'))",
"minimum_value": "0.001",
"minimum_value_warning": "2 * min(extruderValues('prime_tower_line_width'))",
"minimum_value_warning": "2 * min(extruderValues('prime_tower_line_width')) - 0.0001",
"maximum_value_warning": "resolveOrValue('prime_tower_size') / 2",
"enabled": "resolveOrValue('prime_tower_enable')",
"settable_per_mesh": false,
@ -4240,6 +4225,18 @@
"settable_per_meshgroup": false,
"settable_globally": false
},
"support_mesh_drop_down":
{
"label": "Drop Down Support Mesh",
"description": "Make support everywhere below the support mesh, so that there's no overhang in the support mesh.",
"type": "bool",
"default_value": true,
"enabled": "support_mesh",
"settable_per_mesh": true,
"settable_per_extruder": false,
"settable_per_meshgroup": false,
"settable_globally": false
},
"anti_overhang_mesh":
{
"label": "Anti Overhang Mesh",
@ -4271,7 +4268,8 @@
"description": "Spiralize smooths out the Z move of the outer edge. This will create a steady Z increase over the whole print. This feature turns a solid model into a single walled print with a solid bottom. This feature used to be called Joris in older versions.",
"type": "bool",
"default_value": false,
"settable_per_mesh": true
"settable_per_mesh": false,
"settable_per_extruder": false
}
}
},

View file

@ -32,7 +32,7 @@
"machine_center_is_zero": { "default_value": false },
"machine_gcode_flavor": { "default_value": "RepRap (Marlin/Sprinter)" },
"machine_start_gcode": {
"default_value": ";---------------------------------------\n; ; ; Jellybox Start Script Begin ; ; ;\n;_______________________________________\n; M92 E140 ;optionally adjust steps per mm for your filament\n\n; Print Settings Summary\n; (leave these alone: this is only a list of the slicing settings)\n; (overwriting these values will NOT change your printer's behavior)\n; sliced for : {machine_name}\n; nozzle diameter : {machine_nozzle_size}\n; filament diameter : {material_diameter}\n; layer height : {layer_height}\n; 1st layer height : {layer_height_0}\n; line width : {line_width}\n; outer wall wipe dist. : {wall_0_wipe_dist}\n; infill line width : {infill_line_width}\n; wall thickness : {wall_thickness}\n; top thickness : {top_thickness}\n; bottom thickness : {bottom_thickness}\n; infill density : {infill_sparse_density}\n; infill pattern : {infill_pattern}\n; print temperature : {material_print_temperature}\n; 1st layer print temp. : {material_print_temperature_layer_0}\n; heated bed temperature : {material_bed_temperature}\n; 1st layer bed temp. : {material_bed_temperature_layer_0}\n; regular fan speed : {cool_fan_speed_min}\n; max fan speed : {cool_fan_speed_max}\n; retraction amount : {retraction_amount}\n; retr. retract speed : {retraction_retract_speed}\n; retr. prime speed : {retraction_prime_speed}\n; build plate adhesion : {adhesion_type}\n; support ? {support_enable}\n; spiralized ? {magic_spiralize}\n\nM117 Preparing ;write Preparing\nM140 S{material_bed_temperature_layer_0} ;set bed temperature and move on\nM104 S{material_print_temperature_layer_0} ;set extruder temperature and move on\nM206 X10.0 Y0.0 ;set x homing offset for default bed leveling\nG21 ;metric values\nG90 ;absolute positioning\nM107 ;start with the fan off\nM82 ;set extruder to absolute mode\nG28 ;home all axes\nM203 Z4 ;slow Z speed down for greater accuracy when probing\nG29 ;auto bed leveling procedure\nM203 Z7 ;pick up z speed again for printing\nM190 S{material_bed_temperature_layer_0} ;wait for the bed to reach desired temperature\nM109 S{material_print_temperature_layer_0} ;wait for the extruder to reach desired temperature\nG92 E0 ;reset the extruder position\nG1 F1500 E15 ;extrude 15mm of feed stock\nG92 E0 ;reset the extruder position again\nM117 Print starting ;write Print starting\n;---------------------------------------------\n; ; ; Jellybox Printer Start Script End ; ; ;\n;_____________________________________________\n"
"default_value": ";---------------------------------------\n; ; ; Jellybox Start Script Begin ; ; ;\n;_______________________________________\n; M92 E140 ;optionally adjust steps per mm for your filament\n\n; Print Settings Summary\n; (leave these alone: this is only a list of the slicing settings)\n; (overwriting these values will NOT change your printer's behavior)\n; sliced for : {machine_name}\n; nozzle diameter : {machine_nozzle_size}\n; filament diameter : {material_diameter}\n; layer height : {layer_height}\n; 1st layer height : {layer_height_0}\n; line width : {line_width}\n; outer wall wipe dist. : {wall_0_wipe_dist}\n; infill line width : {infill_line_width}\n; wall thickness : {wall_thickness}\n; top thickness : {top_thickness}\n; bottom thickness : {bottom_thickness}\n; infill density : {infill_sparse_density}\n; infill pattern : {infill_pattern}\n; print temperature : {material_print_temperature}\n; 1st layer print temp. : {material_print_temperature_layer_0}\n; heated bed temperature : {material_bed_temperature}\n; 1st layer bed temp. : {material_bed_temperature_layer_0}\n; regular fan speed : {cool_fan_speed_min}\n; max fan speed : {cool_fan_speed_max}\n; retraction amount : {retraction_amount}\n; retr. retract speed : {retraction_retract_speed}\n; retr. prime speed : {retraction_prime_speed}\n; build plate adhesion : {adhesion_type}\n; support ? {support_enable}\n; spiralized ? {magic_spiralize}\n\nM117 Preparing ;write Preparing\nM140 S{material_bed_temperature_layer_0} ;set bed temperature and move on\nM109 S{material_print_temperature} ; wait for the extruder to reach desired temperature\nM206 X10.0 Y0.0 ;set x homing offset for default bed leveling\nG21 ;metric values\nG90 ;absolute positioning\nM107 ;start with the fan off\nM82 ;set extruder to absolute mode\nG28 ;home all axes\nM203 Z4 ;slow Z speed down for greater accuracy when probing\nG29 ;auto bed leveling procedure\nM203 Z7 ;pick up z speed again for printing\nM190 S{material_bed_temperature_layer_0} ;wait for the bed to reach desired temperature\nM109 S{material_print_temperature_layer_0} ;wait for the extruder to reach desired temperature\nG92 E0 ;reset the extruder position\nG1 F1500 E15 ;extrude 15mm of feed stock\nG92 E0 ;reset the extruder position again\nM117 Print starting ;write Print starting\n;---------------------------------------------\n; ; ; Jellybox Printer Start Script End ; ; ;\n;_____________________________________________\n"
},
"machine_end_gcode": {
"default_value": "\n;---------------------------------\n;;; Jellybox End Script Begin ;;;\n;_________________________________\nM117 Finishing Up ;write Finishing Up\n\nM104 S0 ;extruder heater off\nM140 S0 ;bed heater off (if you have it)\nG91 ;relative positioning\nG1 E-1 F300 ;retract the filament a bit before lifting the nozzle, to release some of the pressure\nG1 Z+0.5 E-5 X-20 Y-20 F9000 ;move Z up a bit and retract filament even more\nG90 ;absolute positioning\nG28 X ;home x, so the head is out of the way\nG1 Y100 ;move Y forward, so the print is more accessible\nM84 ;steppers off\n\nM117 Print finished ;write Print finished\n;---------------------------------------\n;;; Jellybox End Script End ;;;\n;_______________________________________"

View file

@ -0,0 +1,70 @@
{
"id": "makeR_pegasus",
"version": 2,
"name": "makeR Pegasus",
"inherits": "fdmprinter",
"metadata": {
"visible": true,
"author": "makeR",
"manufacturer": "makeR",
"category": "Other",
"file_formats": "text/x-gcode",
"icon": "icon_ultimaker2",
"platform": "makeR_pegasus_platform.stl",
"platform_offset": [-200,-10,200]
},
"overrides": {
"machine_name": { "default_value": " makeR Pegasus" },
"machine_heated_bed": {
"default_value": true
},
"machine_width": {
"default_value": 400
},
"machine_height": {
"default_value": 400
},
"machine_depth": {
"default_value": 400
},
"machine_center_is_zero": {
"default_value": false
},
"machine_nozzle_size": {
"default_value": 0.4
},
"material_diameter": {
"default_value": 2.85
},
"machine_nozzle_heat_up_speed": {
"default_value": 2
},
"machine_nozzle_cool_down_speed": {
"default_value": 2
},
"machine_head_polygon": {
"default_value": [
[-75, -18],
[-75, 35],
[18, 35],
[18, -18]
]
},
"gantry_height": {
"default_value": -25
},
"machine_platform_offset":{
"default_value":-25
},
"machine_gcode_flavor": {
"default_value": "RepRap (Marlin/Sprinter)"
},
"machine_start_gcode": {
"default_value": "G1 Z15;\nG28;Home\nG29;Auto Level\nG1 Z5 F5000;Move the platform down 15mm"
},
"machine_end_gcode": {
"default_value": "M104 S0;Turn off temperature\nG28 X0; Home X\nM84; Disable Motors"
}
}
}

View file

@ -0,0 +1,67 @@
{
"id": "makeR_prusa_tairona_i3",
"version": 2,
"name": "makeR Prusa Tairona i3",
"inherits": "fdmprinter",
"metadata": {
"visible": true,
"author": "makeR",
"manufacturer": "makeR",
"category": "Other",
"file_formats": "text/x-gcode",
"icon": "icon_ultimaker2",
"platform": "makeR_prusa_tairona_i3_platform.stl",
"platform_offset": [-2,0,0]
},
"overrides": {
"machine_name": { "default_value": "makeR Prusa Tairona I3" },
"machine_heated_bed": {
"default_value": true
},
"machine_width": {
"default_value": 200
},
"machine_height": {
"default_value": 200
},
"machine_depth": {
"default_value": 200
},
"machine_center_is_zero": {
"default_value": false
},
"machine_nozzle_size": {
"default_value": 0.4
},
"material_diameter": {
"default_value": 1.75
},
"machine_nozzle_heat_up_speed": {
"default_value": 2
},
"machine_nozzle_cool_down_speed": {
"default_value": 2
},
"machine_head_polygon": {
"default_value": [
[-75, -18],
[-75, 35],
[18, 35],
[18, -18]
]
},
"gantry_height": {
"default_value": 55
},
"machine_gcode_flavor": {
"default_value": "RepRap (Marlin/Sprinter)"
},
"machine_start_gcode": {
"default_value": "G1 Z15;\nG28;Home\nG29;Auto Level\nG1 Z5 F5000;Move the platform down 15mm"
},
"machine_end_gcode": {
"default_value": "M104 S0;Turn off temperature\nG28 X0; Home X\nM84; Disable Motors"
}
}
}

View file

@ -0,0 +1,162 @@
{
"id": "peopoly_moai",
"version": 2,
"name": "Peopoly Moai",
"inherits": "fdmprinter",
"metadata": {
"visible": true,
"author": "fieldOfView",
"manufacturer": "Peopoly",
"category": "Other",
"file_formats": "text/x-gcode",
"has_machine_quality": true,
"has_materials": false
},
"overrides": {
"machine_name": {
"default_value": "Moai"
},
"machine_width": {
"default_value": 130
},
"machine_height": {
"default_value": 180
},
"machine_depth": {
"default_value": 130
},
"machine_nozzle_size": {
"default_value": 0.067
},
"machine_head_with_fans_polygon":
{
"default_value": [
[ -20, 10 ],
[ -20, -10 ],
[ 10, 10 ],
[ 10, -10 ]
]
},
"machine_gcode_flavor": {
"default_value": "RepRap (Marlin/Sprinter)"
},
"machine_start_gcode": {
"default_value": "G28 ;Home"
},
"machine_end_gcode": {
"default_value": "M104 S0\nM140 S0\nG28 X0 Y0\nM84"
},
"line_width": {
"minimum_value_warning": "machine_nozzle_size"
},
"wall_line_width": {
"minimum_value_warning": "machine_nozzle_size"
},
"wall_line_width_x": {
"minimum_value_warning": "machine_nozzle_size"
},
"skin_line_width": {
"minimum_value_warning": "machine_nozzle_size"
},
"infill_line_width": {
"minimum_value_warning": "machine_nozzle_size"
},
"skirt_brim_line_width": {
"minimum_value_warning": "machine_nozzle_size"
},
"layer_height": {
"maximum_value_warning": "0.5",
"minimum_value_warning": "0.02"
},
"layer_height_0": {
"maximum_value_warning": "0.5",
"minimum_value_warning": "0.02",
"value": "0.1"
},
"top_bottom_thickness": {
"minimum_value_warning": "0.1"
},
"infill_sparse_thickness": {
"maximum_value_warning": "0.5"
},
"speed_print": {
"maximum_value_warning": "300"
},
"speed_infill": {
"maximum_value_warning": "300"
},
"speed_wall": {
"maximum_value_warning": "300",
"value": "speed_print"
},
"speed_wall_0": {
"maximum_value_warning": "300"
},
"speed_wall_x": {
"maximum_value_warning": "300",
"value": "speed_print"
},
"speed_topbottom": {
"maximum_value_warning": "300",
"value": "speed_print"
},
"speed_travel": {
"value": "300"
},
"speed_travel_layer_0": {
"value": "300"
},
"speed_layer_0": {
"value": "5"
},
"speed_slowdown_layers": {
"value": "2"
},
"acceleration_enabled": {
"value": "False"
},
"print_sequence": {
"enabled": false
},
"support_enable": {
"enabled": false
},
"machine_nozzle_temp_enabled": {
"value": "False"
},
"material_bed_temperature": {
"enabled": false
},
"material_diameter": {
"enabled": false,
"value": "1.75"
},
"cool_fan_enabled": {
"enabled": false,
"value": "False"
},
"retraction_enable": {
"enabled": false,
"value": "False"
},
"retraction_combing": {
"enabled": false,
"value": "'off'"
},
"retract_at_layer_change": {
"enabled": false
},
"cool_min_layer_time_fan_speed_max": {
"enabled": false
},
"cool_fan_full_at_height": {
"enabled": false
},
"cool_fan_full_layer": {
"enabled": false
}
}
}

View file

@ -0,0 +1,130 @@
{
"id": "rigid3d_zero2",
"name": "Rigid3D Zero2",
"version": 2,
"inherits": "fdmprinter",
"metadata": {
"visible": true,
"author": "Rigid3D",
"manufacturer": "Rigid3D",
"category": "Other",
"has_materials": false,
"file_formats": "text/x-gcode",
"platform": "rigid3d_zero2_platform.stl",
"platform_offset": [ 5, 0, -35]
},
"overrides": {
"machine_name": { "default_value": "Rigid3D Zero2" },
"machine_head_with_fans_polygon": {
"default_value": [[ 30, 30], [ 30, 70], [ 30, 70], [ 30, 30]]
},
"z_seam_type": {
"default_value": "random"
},
"machine_heated_bed": {
"default_value": true
},
"layer_height": {
"default_value": 0.2
},
"layer_height_0": {
"default_value": 0.2
},
"wall_thickness": {
"default_value": 0.8
},
"top_bottom_thickness": {
"default_value": 0.8
},
"xy_offset": {
"default_value": -0.2
},
"material_print_temperature": {
"value": 235
},
"material_bed_temperature": {
"default_value": 100
},
"material_diameter": {
"default_value": 1.75
},
"speed_print": {
"default_value": 40
},
"speed_layer_0": {
"value": 15
},
"speed_tarvel": {
"value": 100
},
"support_enable": {
"default_value": false
},
"infill_sparse_density": {
"default_value": 15
},
"infill_pattern": {
"default_value": "lines",
"value": "lines"
},
"retraction_amount": {
"default_value": 1
},
"machine_width": {
"default_value": 200
},
"machine_height": {
"default_value": 200
},
"machine_depth": {
"default_value": 200
},
"machine_center_is_zero": {
"default_value": false
},
"machine_nozzle_size": {
"default_value": 0.4
},
"gantry_height": {
"default_value": 25
},
"machine_gcode_flavor": {
"default_value": "RepRap"
},
"cool_fan_enabled": {
"default_value": false
},
"cool_fan_speed": {
"default_value": 50,
"value": 50
},
"cool_fan_speed_min": {
"default_value": 0
},
"cool_fan_full_at_height": {
"default_value": 1.0,
"value": 1.0
},
"support_z_distance": {
"default_value": 0.2
},
"support_interface_enable": {
"default_value": true
},
"support_interface_height": {
"default_value": 0.8
},
"support_interface_density": {
"default_value": 70
},
"support_interface_pattern": {
"default_value": "grid"
},
"machine_start_gcode": {
"default_value": "G21\nG28 ; Home extruder\nM107 ; Turn off fan\nG91 ; Relative positioning\nG1 Z5 F180;\nG1 X100 Y100 F3000;\nG1 Z-5 F180;\nG90 ; Absolute positioning\nM82 ; Extruder in absolute mode\nG92 E0 ; Reset extruder position\n"
},
"machine_end_gcode": {
"default_value": "G1 X0 Y180 ; Get extruder out of way.\nM107 ; Turn off fan\nG91 ; Relative positioning\nG0 Z20 ; Lift extruder up\nT0\nG1 E-1 ; Reduce filament pressure\nM104 T0 S0 ; Turn extruder heater off\nG90 ; Absolute positioning\nG92 E0 ; Reset extruder position\nM140 S0 ; Disable heated bed\nM84 ; Turn steppers off\n"
}
}
}

View file

@ -70,7 +70,7 @@
"machine_start_gcode": { "default_value": "" },
"machine_end_gcode": { "default_value": "" },
"prime_tower_position_x": { "default_value": 175 },
"prime_tower_position_y": { "default_value": 179 },
"prime_tower_position_y": { "default_value": 178 },
"prime_tower_wipe_enabled": { "default_value": false },
"acceleration_enabled": { "value": "True" },

View file

@ -16,10 +16,10 @@
"machine_nozzle_offset_x": { "default_value": 0.0 },
"machine_nozzle_offset_y": { "default_value": 0.0 },
"machine_extruder_start_code": {
"default_value": "\n;start extruder_0\nM117 Heating nozzles....\nM104 S190 T0\nG1 X70 Y20 F9000\nM109 S190 T0\n\nM117 purging nozzle\nG92 E0\nG1 E6 F90\nG92 E0\nG1 E-2 F300\nG92 E0\nM117 wiping nozzle\nG1 X1 Y28 F3000\nG1 X70 F6000\n\nM117 printing\n"
"default_value": "\n;start extruder_0\n\nM117 printing\n"
},
"machine_extruder_end_code": {
"default_value": "\nM104 T0 S155\n;end extruder_0\nM117 temp is {material_print_temp}"
"default_value": "\nM104 T0 S160\nG91\nG1 Z0.5 F900\nG90\nG1 X10 Y260 F9000\n;end extruder_0\nM117 temp is {material_print_temp}"
}
}
}

View file

@ -16,10 +16,10 @@
"machine_nozzle_offset_x": { "default_value": 24.0 },
"machine_nozzle_offset_y": { "default_value": 0.0 },
"machine_extruder_start_code": {
"default_value": "\n;start extruder_1\nM117 Heating nozzles....\nM104 S190 T1\nG1 X70 Y20 F9000\nM109 S190 T1\n\nM117 purging nozzle\nG92 E0\nG1 E6 F90\nG92 E0\nG1 E-2 F300\nG92 E0\n\nM117 wiping nozzle\nG1 X1 Y28 F3000\nG1 X70 F6000\n\nM117 printing\n"
"default_value": "\n;start extruder_1\n\nM117 printing\n"
},
"machine_extruder_end_code": {
"default_value": "\nM104 T1 S155\n;end extruder_1\n"
"default_value": "\nM104 T1 S160\nG91\nG1 Z0.5 F900\nG90\nG1 X10 Y260 F9000\n;end extruder_1\n"
}
}
}

View file

@ -16,10 +16,10 @@
"machine_nozzle_offset_x": { "default_value": 0.0 },
"machine_nozzle_offset_y": { "default_value": 60.0 },
"machine_extruder_start_code": {
"default_value": "\n;start extruder_2\nM117 Heating nozzles....\nM104 S190 T2\nG1 X70 Y20 F9000\nM109 S190 T2\n\nM117 purging nozzle\nG92 E0\nG1 E6 F90\nG92 E0\nG1 E-2 F300\nG92 E0\n\nM117 wiping nozzle\nG1 X1 Y28 F3000\nG1 X70 F6000\n\nM117 printing\n"
"default_value": "\n;start extruder_2\n\nM117 printing\n"
},
"machine_extruder_end_code": {
"default_value": "\nM104 T2 S155\n;end extruder_2\n"
"default_value": "\nM104 T2 S160\nG91\nG1 Z0.5 F900\nG90\nG1 X10 Y260 F9000\n;end extruder_2\n"
}
}
}

View file

@ -16,10 +16,10 @@
"machine_nozzle_offset_x": { "default_value": 24.0 },
"machine_nozzle_offset_y": { "default_value": 60.0 },
"machine_extruder_start_code": {
"default_value": "\n;start extruder_3\nM117 Heating nozzles....\nM104 S190 T3\nG1 X70 Y20 F9000\nM109 S190 T3\n\nM117 purging nozzle\nG92 E0\nG1 E6 F90\nG92 E0\nG1 E-2 F300\nG92 E0\n\nM117 wiping nozzle\nG1 X1 Y28 F3000\nG1 X70 F6000\n\nM117 printing\n"
"default_value": "\n;start extruder_3\n\nM117 printing\n"
},
"machine_extruder_end_code": {
"default_value": "\nM104 T3 S155\n;end extruder_3\n"
"default_value": "\nM104 T3 S160\nG91\nG1 Z0.5 F900\nG90\nG1 X10 Y260 F9000\n;end extruder_3\n"
}
}
}

View file

@ -9,7 +9,7 @@ msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2017-03-27 17:27+0200\n"
"PO-Revision-Date: 2017-01-21 09:40+0200\n"
"PO-Revision-Date: 2017-04-09 18:00-0300\n"
"Last-Translator: Cláudio Sampaio <patola@makerlinux.com.br>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
"Language: ptbr\n"
@ -66,7 +66,7 @@ msgstr "Arquivo X3D"
#: /home/ruben/Projects/Cura/plugins/GCodeWriter/__init__.py:12
msgctxt "@label"
msgid "GCode Writer"
msgstr "Gravador de G-Code"
msgstr "Gerador de G-Code"
#: /home/ruben/Projects/Cura/plugins/GCodeWriter/__init__.py:15
msgctxt "@info:whatsthis"
@ -157,7 +157,7 @@ msgstr "Imprimir pela USB"
#: /home/ruben/Projects/Cura/plugins/USBPrinting/USBPrinterOutputDevice.py:30
msgctxt "@info:status"
msgid "Connected via USB"
msgstr "Conectado na USB"
msgstr "Conectado via USB"
#: /home/ruben/Projects/Cura/plugins/USBPrinting/USBPrinterOutputDevice.py:152
msgctxt "@info:status"
@ -167,7 +167,7 @@ msgstr "Incapaz de iniciar novo trabalho porque a impressora está ocupada ou n
#: /home/ruben/Projects/Cura/plugins/USBPrinting/USBPrinterOutputDevice.py:450
msgctxt "@info:status"
msgid "This printer does not support USB printing because it uses UltiGCode flavor."
msgstr ""
msgstr "Esta impressora não suporta impressão USB porque usa G-Code UltiGCode."
#: /home/ruben/Projects/Cura/plugins/USBPrinting/USBPrinterOutputDevice.py:454
msgctxt "@info:status"
@ -331,17 +331,17 @@ msgstr "Envia pedido de acesso à impressora"
#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:336
msgctxt "@info:status"
msgid "Connected over the network. Please approve the access request on the printer."
msgstr ""
msgstr "Conectado pela rede. Por favor aprove a requisição de acesso na impressora."
#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:343
msgctxt "@info:status"
msgid "Connected over the network."
msgstr ""
msgstr "Conectado pela rede."
#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:356
msgctxt "@info:status"
msgid "Connected over the network. No access to control the printer."
msgstr ""
msgstr "Conectado pela rede. Sem acesso para controlar a impressora."
#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:361
msgctxt "@info:status"
@ -586,17 +586,17 @@ msgstr "Camadas"
#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.py:91
msgctxt "@info:status"
msgid "Cura does not accurately display layers when Wire Printing is enabled"
msgstr "O Cura não mostra as camadas corretamente quando Impressão de Arame estiver habilitada"
msgstr "O Cura não mostra as camadas corretamente quando Impressão em Arame estiver habilitada"
#: /home/ruben/Projects/Cura/plugins/VersionUpgrade/VersionUpgrade24to25/__init__.py:14
msgctxt "@label"
msgid "Version Upgrade 2.4 to 2.5"
msgstr ""
msgstr "Atualizar versão 2.4 para 2.5"
#: /home/ruben/Projects/Cura/plugins/VersionUpgrade/VersionUpgrade24to25/__init__.py:17
msgctxt "@info:whatsthis"
msgid "Upgrades configurations from Cura 2.4 to Cura 2.5."
msgstr ""
msgstr "Atualiza as configurações do Cura 2.4 para o Cura 2.5"
#: /home/ruben/Projects/Cura/plugins/VersionUpgrade/VersionUpgrade21to22/__init__.py:14
msgctxt "@label"
@ -763,22 +763,22 @@ msgstr "Sólido"
#: /home/ruben/Projects/Cura/plugins/GCodeReader/__init__.py:12
msgctxt "@label"
msgid "G-code Reader"
msgstr ""
msgstr "Leitor de G-Code"
#: /home/ruben/Projects/Cura/plugins/GCodeReader/__init__.py:15
msgctxt "@info:whatsthis"
msgid "Allows loading and displaying G-code files."
msgstr ""
msgstr "Permite carregar e mostrar arquivos G-Code."
#: /home/ruben/Projects/Cura/plugins/GCodeReader/__init__.py:25
msgctxt "@item:inlistbox"
msgid "G File"
msgstr ""
msgstr "Arquivo G"
#: /home/ruben/Projects/Cura/plugins/GCodeReader/GCodeReader.py:227
msgctxt "@info:status"
msgid "Parsing G-code"
msgstr ""
msgstr "Interpretando G-Code"
#: /home/ruben/Projects/Cura/plugins/CuraProfileWriter/__init__.py:12
msgctxt "@label"
@ -799,7 +799,7 @@ msgstr "Perfil do Cura"
#: /home/ruben/Projects/Cura/plugins/3MFWriter/__init__.py:13
msgctxt "@label"
msgid "3MF Writer"
msgstr "Gravador 3MF"
msgstr "Gerador 3MF"
#: /home/ruben/Projects/Cura/plugins/3MFWriter/__init__.py:16
msgctxt "@info:whatsthis"
@ -860,7 +860,7 @@ msgstr "Provê suporte para importar perfis do Cura."
#, python-brace-format
msgctxt "@label"
msgid "Pre-sliced file {0}"
msgstr ""
msgstr "Arquivo pré-fatiado {0}"
#: /home/ruben/Projects/Cura/cura/PrinterOutputDevice.py:376
msgctxt "@item:material"
@ -986,13 +986,13 @@ msgstr "%(width).1f x %(depth).1f x %(height).1f mm"
#, python-brace-format
msgctxt "@info:status"
msgid "Only one G-code file can be loaded at a time. Skipped importing {0}"
msgstr ""
msgstr "Somente um arquivo G-Code pode ser carregado por vez. Pulando importação de {0}"
#: /home/ruben/Projects/Cura/cura/CuraApplication.py:1201
#, python-brace-format
msgctxt "@info:status"
msgid "Can't open any other file if G-code is loading. Skipped importing {0}"
msgstr ""
msgstr "Não é possível abrir nenhum outro arquivo se G-Code estiver sendo carregado. Pulando importação de {0}"
#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:27
msgctxt "@title"
@ -1359,72 +1359,72 @@ msgstr "Troca os scripts de pós-processamento ativos"
#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:59
msgctxt "@label"
msgid "View Mode: Layers"
msgstr ""
msgstr "Modo de Visão: Camadas"
#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:75
msgctxt "@label"
msgid "Color scheme"
msgstr ""
msgstr "Esquema de Cores"
#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:88
msgctxt "@label:listbox"
msgid "Material Color"
msgstr ""
msgstr "Cor do Material"
#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:92
msgctxt "@label:listbox"
msgid "Line Type"
msgstr ""
msgstr "Tipo de Linha"
#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:133
msgctxt "@label"
msgid "Compatibility Mode"
msgstr ""
msgstr "Modo de Compatibilidade"
#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:171
msgctxt "@label"
msgid "Extruder %1"
msgstr ""
msgstr "Extrusor %1"
#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:185
msgctxt "@label"
msgid "Show Travels"
msgstr ""
msgstr "Mostrar Viagens"
#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:206
msgctxt "@label"
msgid "Show Helpers"
msgstr ""
msgstr "Mostrar Assistentes"
#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:227
msgctxt "@label"
msgid "Show Shell"
msgstr ""
msgstr "Mostrar Perímetro"
#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:248
msgctxt "@label"
msgid "Show Infill"
msgstr ""
msgstr "Mostrar Preenchimento"
#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:269
msgctxt "@label"
msgid "Only Show Top Layers"
msgstr ""
msgstr "Somente Mostrar Camadas Superiores"
#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:277
msgctxt "@label"
msgid "Show 5 Detailed Layers On Top"
msgstr ""
msgstr "Mostrar 5 Camadas Superiores Detalhadas"
#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:285
msgctxt "@label"
msgid "Top / Bottom"
msgstr ""
msgstr "Topo / Base"
#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:306
msgctxt "@label"
msgid "Inner Wall"
msgstr ""
msgstr "Parede Interna"
#: /home/ruben/Projects/Cura/plugins/ImageReader/ConfigUI.qml:19
msgctxt "@title:window"
@ -1598,8 +1598,8 @@ msgstr "Não no perfil"
msgctxt "@action:label"
msgid "%1 override"
msgid_plural "%1 overrides"
msgstr[0] "%1 sobreposição"
msgstr[1] "%1 sobreposições"
msgstr[0] "%1 sobrepujança"
msgstr[1] "%1 sobrepujanças"
#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:234
msgctxt "@action:label"
@ -1610,8 +1610,8 @@ msgstr "Derivado de"
msgctxt "@action:label"
msgid "%1, %2 override"
msgid_plural "%1, %2 overrides"
msgstr[0] "%1, %2 sobreposição"
msgstr[1] "%1, %2 sobreposições"
msgstr[0] "%1, %2 sobrepujança"
msgstr[1] "%1, %2 sobrepujanças"
#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:255
msgctxt "@action:label"
@ -1891,7 +1891,7 @@ msgstr "Tem certeza que deseja abortar a impressão?"
#: /home/ruben/Projects/Cura/resources/qml/DiscardOrKeepProfileChangesDialog.qml:14
msgctxt "@title:window"
msgid "Discard or Keep changes"
msgstr ""
msgstr "Descartar ou Manter alterações"
#: /home/ruben/Projects/Cura/resources/qml/DiscardOrKeepProfileChangesDialog.qml:59
msgctxt "@text:window"
@ -1899,54 +1899,56 @@ msgid ""
"You have customized some profile settings.\n"
"Would you like to keep or discard those settings?"
msgstr ""
"Você personalizou alguns ajustes de perfil.\n"
"Gostaria de manter ou descartar estes ajustes?"
#: /home/ruben/Projects/Cura/resources/qml/DiscardOrKeepProfileChangesDialog.qml:108
msgctxt "@title:column"
msgid "Profile settings"
msgstr ""
msgstr "Ajustes de perfil"
#: /home/ruben/Projects/Cura/resources/qml/DiscardOrKeepProfileChangesDialog.qml:115
msgctxt "@title:column"
msgid "Default"
msgstr ""
msgstr "Default"
#: /home/ruben/Projects/Cura/resources/qml/DiscardOrKeepProfileChangesDialog.qml:122
msgctxt "@title:column"
msgid "Customized"
msgstr ""
msgstr "Personalizado"
#: /home/ruben/Projects/Cura/resources/qml/DiscardOrKeepProfileChangesDialog.qml:152
#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:391
msgctxt "@option:discardOrKeep"
msgid "Always ask me this"
msgstr ""
msgstr "Sempre perguntar"
#: /home/ruben/Projects/Cura/resources/qml/DiscardOrKeepProfileChangesDialog.qml:153
#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:392
msgctxt "@option:discardOrKeep"
msgid "Discard and never ask again"
msgstr ""
msgstr "Descartar e não perguntar novamente"
#: /home/ruben/Projects/Cura/resources/qml/DiscardOrKeepProfileChangesDialog.qml:154
#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:393
msgctxt "@option:discardOrKeep"
msgid "Keep and never ask again"
msgstr ""
msgstr "Manter e não perguntar novamente"
#: /home/ruben/Projects/Cura/resources/qml/DiscardOrKeepProfileChangesDialog.qml:189
msgctxt "@action:button"
msgid "Discard"
msgstr ""
msgstr "Descartar"
#: /home/ruben/Projects/Cura/resources/qml/DiscardOrKeepProfileChangesDialog.qml:202
msgctxt "@action:button"
msgid "Keep"
msgstr ""
msgstr "Manter"
#: /home/ruben/Projects/Cura/resources/qml/DiscardOrKeepProfileChangesDialog.qml:215
msgctxt "@action:button"
msgid "Create New Profile"
msgstr ""
msgstr "Criar Novo Perfil"
#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialView.qml:29
msgctxt "@title"
@ -2006,7 +2008,7 @@ msgstr "Comprimento do Filamento"
#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialView.qml:190
msgctxt "@label"
msgid "Cost per Meter"
msgstr ""
msgstr "Custo por Metro"
#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialView.qml:201
msgctxt "@label"
@ -2072,7 +2074,7 @@ msgstr "Idioma:"
#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:157
msgctxt "@label"
msgid "Currency:"
msgstr ""
msgstr "Moeda:"
#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:173
msgctxt "@label"
@ -2082,12 +2084,12 @@ msgstr "A aplicação deverá ser reiniciada para que as alterações de idioma
#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:190
msgctxt "@info:tooltip"
msgid "Slice automatically when changing settings."
msgstr ""
msgstr "Fatiar automaticamente quando mudar ajustes."
#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:199
msgctxt "@option:check"
msgid "Slice automatically"
msgstr ""
msgstr "Fatiar automaticamente"
#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:213
msgctxt "@label"
@ -2137,17 +2139,17 @@ msgstr "Automaticamente fazer os modelos caírem na mesa de impressão."
#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:278
msgctxt "@info:tooltip"
msgid "Should layer be forced into compatibility mode?"
msgstr ""
msgstr "A Visão de Camada deve ser forçada a ficar em modo de compatibilidade?"
#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:283
msgctxt "@option:check"
msgid "Force layer view compatibility mode (restart required)"
msgstr ""
msgstr "Forçar modo de compatibilidade da visão de camadas (requer reinício)"
#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:299
msgctxt "@label"
msgid "Opening and saving files"
msgstr ""
msgstr "Abrindo e salvando arquivos"
#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:305
msgctxt "@info:tooltip"
@ -2182,7 +2184,7 @@ msgstr "Adicionar prefixo de máquina ao nome do trabalho"
#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:347
msgctxt "@info:tooltip"
msgid "Should a summary be shown when saving a project file?"
msgstr "Um resumo deve ser exibido quando se estiver salvando um arquivo de projeto?"
msgstr "Um resumo deve ser exibido ao salvar um arquivo de projeto?"
#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:351
msgctxt "@option:check"
@ -2192,12 +2194,12 @@ msgstr "Mostrar diálogo de resumo ao salvar projeto"
#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:369
msgctxt "@info:tooltip"
msgid "When you have made changes to a profile and switched to a different one, a dialog will be shown asking whether you want to keep your modifications or not, or you can choose a default behaviour and never show that dialog again."
msgstr ""
msgstr "Quando você faz alterações em um perfil e troca para um diferent, um diálogo aparecerá perguntando se você quer manter ou aplicar suas modificações, ou você pode forçar um comportamento default e não ter o diálogo."
#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:378
msgctxt "@label"
msgid "Override Profile"
msgstr ""
msgstr "Sobrepujar Perfil"
#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:427
msgctxt "@label"
@ -2330,7 +2332,7 @@ msgstr "Descartar ajustes atuais"
#: /home/ruben/Projects/Cura/resources/qml/Preferences/ProfilesPage.qml:190
msgctxt "@action:label"
msgid "This profile uses the defaults specified by the printer, so it has no settings/overrides in the list below."
msgstr "Este perfil usa os defaults especificados pela impressora, portanto não tem ajustes e sobreposições na lista abaixo."
msgstr "Este perfil usa os defaults especificados pela impressora, portanto não tem ajustes e sobrepujanças na lista abaixo."
#: /home/ruben/Projects/Cura/resources/qml/Preferences/ProfilesPage.qml:197
msgctxt "@action:label"
@ -2449,12 +2451,12 @@ msgstr "00h 00min"
#: /home/ruben/Projects/Cura/resources/qml/JobSpecs.qml:231
msgctxt "@label"
msgid "%1 m / ~ %2 g / ~ %4 %3"
msgstr ""
msgstr "%1 m / ~ %2 g / ~ %4 %3"
#: /home/ruben/Projects/Cura/resources/qml/JobSpecs.qml:236
msgctxt "@label"
msgid "%1 m / ~ %2 g"
msgstr "%1 m/~ %2 g"
msgstr "%1 m / ~ %2 g"
#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:15
msgctxt "@title:window"
@ -2488,7 +2490,7 @@ msgstr "Framework de Aplicações"
#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:120
msgctxt "@label"
msgid "GCode generator"
msgstr "Gravador de G-Code"
msgstr "Gerador de G-Code"
#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:121
msgctxt "@label"
@ -2538,7 +2540,7 @@ msgstr "Biblioteca de suporte para manuseamento de arquivos STL"
#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:131
msgctxt "@label"
msgid "Support library for handling 3MF files"
msgstr ""
msgstr "Biblioteca de suporte para manuseamento de arquivos 3MF"
#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:132
msgctxt "@label"
@ -2696,7 +2698,7 @@ msgstr "Abrir &Recente"
#: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:33
msgctxt "@info:status"
msgid "No printer connected"
msgstr ""
msgstr "Nenhuma impressora conectada"
#: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:90
msgctxt "@label"
@ -2706,22 +2708,22 @@ msgstr "Hotend"
#: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:119
msgctxt "@tooltip"
msgid "The current temperature of this extruder."
msgstr ""
msgstr "A temperatura atual deste extrusor."
#: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:154
msgctxt "@tooltip"
msgid "The colour of the material in this extruder."
msgstr ""
msgstr "A cor do material neste extrusor."
#: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:186
msgctxt "@tooltip"
msgid "The material in this extruder."
msgstr ""
msgstr "O material neste extrusor."
#: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:218
msgctxt "@tooltip"
msgid "The nozzle inserted in this extruder."
msgstr ""
msgstr "O bico inserido neste extrusor."
#: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:249
msgctxt "@label"
@ -2731,32 +2733,32 @@ msgstr "Mesa de Impressão"
#: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:278
msgctxt "@tooltip"
msgid "The target temperature of the heated bed. The bed will heat up or cool down towards this temperature. If this is 0, the bed heating is turned off."
msgstr ""
msgstr "A temperatura-alvo da mesa aquecida. A mesa aquecerá ou resfriará para esta temperatura. Se for zero, o aquecimento é desligado."
#: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:310
msgctxt "@tooltip"
msgid "The current temperature of the heated bed."
msgstr ""
msgstr "A temperatura atual da mesa aquecida."
#: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:379
msgctxt "@tooltip of temperature input"
msgid "The temperature to pre-heat the bed to."
msgstr ""
msgstr "A temperatura à qual pré-aquecer a mesa."
#: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:573
msgctxt "@button Cancel pre-heating"
msgid "Cancel"
msgstr ""
msgstr "Cancelar"
#: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:573
msgctxt "@button"
msgid "Pre-heat"
msgstr ""
msgstr "Pré-aquecer"
#: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:600
msgctxt "@tooltip of pre-heat"
msgid "Heat the bed in advance before printing. You can continue adjusting your print while it is heating, and you won't have to wait for the bed to heat up when you're ready to print."
msgstr ""
msgstr "Aquecer a mesa antes de imprimir. Você pode continuar ajustando sua impressão enquanto ela está aquecendo, e não terá que esperar o aquecimento quando estiver pronto pra imprimir."
#: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:633
msgctxt "@label"
@ -2821,7 +2823,7 @@ msgstr "Administrar Materiais..."
#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:126
msgctxt "@action:inmenu menubar:profile"
msgid "&Update profile with current settings/overrides"
msgstr "&Atualizar perfil com valores e sobreposições atuais"
msgstr "&Atualizar perfil com valores e sobrepujanças atuais"
#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:134
msgctxt "@action:inmenu menubar:profile"
@ -2951,7 +2953,7 @@ msgstr "Por favor carregue um modelo 3D"
#: /home/ruben/Projects/Cura/resources/qml/SaveButton.qml:33
msgctxt "@label:PrintjobStatus"
msgid "Ready to slice"
msgstr ""
msgstr "Pronto para fatiar"
#: /home/ruben/Projects/Cura/resources/qml/SaveButton.qml:35
msgctxt "@label:PrintjobStatus"
@ -2971,17 +2973,17 @@ msgstr "Incapaz de Fatiar"
#: /home/ruben/Projects/Cura/resources/qml/SaveButton.qml:41
msgctxt "@label:PrintjobStatus"
msgid "Slicing unavailable"
msgstr ""
msgstr "Fatiamento indisponível"
#: /home/ruben/Projects/Cura/resources/qml/SaveButton.qml:136
msgctxt "@label:Printjob"
msgid "Prepare"
msgstr ""
msgstr "Preparar"
#: /home/ruben/Projects/Cura/resources/qml/SaveButton.qml:136
msgctxt "@label:Printjob"
msgid "Cancel"
msgstr ""
msgstr "Cancelar"
#: /home/ruben/Projects/Cura/resources/qml/SaveButton.qml:276
msgctxt "@info:tooltip"
@ -3213,7 +3215,7 @@ msgid ""
"\n"
"Click to open the profile manager."
msgstr ""
"Alguns ajustes/sobreposições têm valores diferentes dos que estão armazenados no perfil.\n"
"Alguns ajustes/sobrepujanças têm valores diferentes dos que estão armazenados no perfil.\n"
"\n"
"Clique para abrir o gerenciador de perfis."

View file

@ -4,7 +4,7 @@ msgstr ""
"Project-Id-Version: Uranium json setting files\n"
"Report-Msgid-Bugs-To: http://github.com/ultimaker/uranium\n"
"POT-Creation-Date: 2017-03-27 17:27+0000\n"
"PO-Revision-Date: 2016-01-25 05:05-0300\n"
"PO-Revision-Date: 2017-04-10 09:05-0300\n"
"Last-Translator: Cláudio Sampaio <patola@makerlinux.com.br>\n"
"Language-Team: LANGUAGE\n"
"Language: ptbr\n"

View file

@ -3,7 +3,7 @@ msgstr ""
"Project-Id-Version: Uranium json setting files\n"
"Report-Msgid-Bugs-To: http://github.com/ultimaker/uranium\n"
"POT-Creation-Date: 2017-03-27 17:27+0000\n"
"PO-Revision-Date: 2017-01-24 01:00-0300\n"
"PO-Revision-Date: 2017-04-10 19:00-0300\n"
"Last-Translator: Cláudio Sampaio <patola@makerlinux.com.br>\n"
"Language-Team: LANGUAGE\n"
"Language: ptbr\n"
@ -30,7 +30,7 @@ msgstr "Tipo de Máquina"
#: fdmprinter.def.json
msgctxt "machine_name description"
msgid "The name of your 3D printer model."
msgstr "Nome do seu model de impressora 3D."
msgstr "Nome do seu modelo de impressora 3D."
#: fdmprinter.def.json
msgctxt "machine_show_variants label"
@ -254,12 +254,12 @@ msgstr "Distância da ponta do bico onde 'estacionar' o filamento quando seu ext
#: fdmprinter.def.json
msgctxt "machine_nozzle_temp_enabled label"
msgid "Enable Nozzle Temperature Control"
msgstr ""
msgstr "Habilitar Controle de Temperatura do Bico"
#: fdmprinter.def.json
msgctxt "machine_nozzle_temp_enabled description"
msgid "Whether to control temperature from Cura. Turn this off to control nozzle temperature from outside of Cura."
msgstr ""
msgstr "Se a temperatura deve ser controlada pelo Cura. Desligue para controlar a temperatura do bico fora do Cura."
#: fdmprinter.def.json
msgctxt "machine_nozzle_heat_up_speed label"
@ -579,7 +579,7 @@ msgstr "Altura de Camada"
#: fdmprinter.def.json
msgctxt "layer_height description"
msgid "The height of each layer in mm. Higher values produce faster prints in lower resolution, lower values produce slower prints in higher resolution."
msgstr "A altura das camadas em mm. Valores mais altos produzem impressões mais rápidas em resoluções baixas, valores mais baixos produzem impressão mais lentas em resolução mais alta. Recomenda-se não deixar a altura de camada maior que 80%% do diâmetro do bico."
msgstr "A altura das camadas em mm. Valores mais altos produzem impressões mais rápidas em resoluções baixas, valores mais baixos produzem impressão mais lentas em resolução mais alta. Recomenda-se não deixar a altura de camada maior que 80% do diâmetro do bico."
#: fdmprinter.def.json
msgctxt "layer_height_0 label"
@ -809,37 +809,37 @@ msgstr "Ziguezague"
#: fdmprinter.def.json
msgctxt "top_bottom_pattern_0 label"
msgid "Bottom Pattern Initial Layer"
msgstr ""
msgstr "Camada Inicial do Padrão da Base"
#: fdmprinter.def.json
msgctxt "top_bottom_pattern_0 description"
msgid "The pattern on the bottom of the print on the first layer."
msgstr ""
msgstr "O padrão na base da impressão na primeira camada."
#: fdmprinter.def.json
msgctxt "top_bottom_pattern_0 option lines"
msgid "Lines"
msgstr ""
msgstr "Linhas"
#: fdmprinter.def.json
msgctxt "top_bottom_pattern_0 option concentric"
msgid "Concentric"
msgstr ""
msgstr "Concêntrico"
#: fdmprinter.def.json
msgctxt "top_bottom_pattern_0 option zigzag"
msgid "Zig Zag"
msgstr ""
msgstr "Ziguezague"
#: fdmprinter.def.json
msgctxt "skin_angles label"
msgid "Top/Bottom Line Directions"
msgstr ""
msgstr "Direções de Linha Superior/Inferior"
#: fdmprinter.def.json
msgctxt "skin_angles description"
msgid "A list of integer line directions to use when the top/bottom layers use the lines or zig zag pattern. Elements from the list are used sequentially as the layers progress and when the end of the list is reached, it starts at the beginning again. The list items are separated by commas and the whole list is contained in square brackets. Default is an empty list which means use the traditional default angles (45 and 135 degrees)."
msgstr ""
msgstr "Uma lista de direções de linha inteiras para usar quando as camadas superiores e inferiores usarem os padrões de linha ou ziguezague. Elementos desta lista são usados sequencialmente à medida que as camadas progridem e quando o fim da lista é alcançado, ela inicia novamente. Os itens da lista são separados por vírgulas e a lita inteira é contida em colchetes. O default é uma lista vazia, o que significa usar os ângulos default (45 e 135 graus)."
#: fdmprinter.def.json
msgctxt "wall_0_inset label"
@ -984,7 +984,7 @@ msgstr "Ignorar Pequenos Vãos em Z"
#: fdmprinter.def.json
msgctxt "skin_no_small_gaps_heuristic description"
msgid "When the model has small vertical gaps, about 5% extra computation time can be spent on generating top and bottom skin in these narrow spaces. In such case, disable the setting."
msgstr "Quando o modelo tem pequenos vãos verticais, aproximadamente 5%% de tempo de computação adicional pode ser gasto ao gerar pele superior e inferior nestes espaços estreitos. Em tal caso, desabilite este ajuste."
msgstr "Quando o modelo tem pequenos vãos verticais, aproximadamente 5% de tempo de computação adicional pode ser gasto ao gerar camada externa superior e inferior nestes espaços estreitos. Em tal caso, desabilite este ajuste."
#: fdmprinter.def.json
msgctxt "infill label"
@ -1094,12 +1094,12 @@ msgstr "Um multiplicador do raio do centro de cada cubo para verificar a borda d
#: fdmprinter.def.json
msgctxt "sub_div_rad_add label"
msgid "Cubic Subdivision Shell"
msgstr "Casca de Subdivisão Cúbica"
msgstr "Cobertura de Subdivisão Cúbica"
#: fdmprinter.def.json
msgctxt "sub_div_rad_add description"
msgid "An addition to the radius from the center of each cube to check for the boundary of the model, as to decide whether this cube should be subdivided. Larger values lead to a thicker shell of small cubes near the boundary of the model."
msgstr "Um adicional ao raio do centro de cada cubo para verificar a borda do modelo, de modo a decidir se este cubo deve ser subdividido. Valores maiores levam a uma casca mais espessa de pequenos cubos perto da borda do modelo."
msgstr "Um adicional ao raio do centro de cada cubo para verificar a borda do modelo, de modo a decidir se este cubo deve ser subdividido. Valores maiores levam a uma cobertura mais espessa de pequenos cubos perto da borda do modelo."
#: fdmprinter.def.json
msgctxt "infill_overlap label"
@ -1124,22 +1124,22 @@ msgstr "Medida de sobreposição entre o preenchimento e as paredes. Uma leve so
#: fdmprinter.def.json
msgctxt "skin_overlap label"
msgid "Skin Overlap Percentage"
msgstr "Porcentagem de Sobreposição da Pele"
msgstr "Porcentagem de Sobreposição do Contorno"
#: fdmprinter.def.json
msgctxt "skin_overlap description"
msgid "The amount of overlap between the skin and the walls. A slight overlap allows the walls to connect firmly to the skin."
msgstr "Porcentagem de sobreposição entre a pele e as paredes. Uma ligeira sobreposição permite às paredes ficarem firmemente aderidas à pele."
msgstr "Porcentagem de sobreposição entre o contorno e as paredes. Uma ligeira sobreposição permite às paredes ficarem firmemente aderidas ao contorno."
#: fdmprinter.def.json
msgctxt "skin_overlap_mm label"
msgid "Skin Overlap"
msgstr "Sobreposição da Pele"
msgstr "Sobreposição do Contorno"
#: fdmprinter.def.json
msgctxt "skin_overlap_mm description"
msgid "The amount of overlap between the skin and the walls. A slight overlap allows the walls to connect firmly to the skin."
msgstr "Medida de sobreposição entre a pele e as paredes. Uma ligeira sobreposição permite às paredes ficarem firmemente aderidas à pele."
msgstr "Medida de sobreposição entre o contorno e as paredes. Uma ligeira sobreposição permite às paredes ficarem firmemente aderidas ao contorno."
#: fdmprinter.def.json
msgctxt "infill_wipe_dist label"
@ -1194,72 +1194,72 @@ msgstr "Imprime o preenchimento antes de imprimir as paredes. Imprimir as parede
#: fdmprinter.def.json
msgctxt "min_infill_area label"
msgid "Minimum Infill Area"
msgstr ""
msgstr "Área Mínima para Preenchimento"
#: fdmprinter.def.json
msgctxt "min_infill_area description"
msgid "Don't generate areas of infill smaller than this (use skin instead)."
msgstr ""
msgstr "Não gerar preenchimento para áreas menores que esta (usar contorno)."
#: fdmprinter.def.json
msgctxt "expand_skins_into_infill label"
msgid "Expand Skins Into Infill"
msgstr ""
msgstr "Expandir Contorno Para Preenchimento"
#: fdmprinter.def.json
msgctxt "expand_skins_into_infill description"
msgid "Expand skin areas of top and/or bottom skin of flat surfaces. By default, skins stop under the wall lines that surround infill but this can lead to holes appearing when the infill density is low. This setting extends the skins beyond the wall lines so that the infill on the next layer rests on skin."
msgstr ""
msgstr "Expandir áreas de perímetro das partes superiores e inferiores de superfícies chatas. Por default, o perímetro para sob as paredes que rodeiam o preenchimento mas isso pode fazer com que buracos apareçam caso a densidade de preenchimento seja baixa. Este ajuste estenda os perímetros além das linhas de parede de modo que o preenchimento da próxima camada fique em cima de perímetros."
#: fdmprinter.def.json
msgctxt "expand_upper_skins label"
msgid "Expand Upper Skins"
msgstr ""
msgstr "Expandir Contornos Superiores"
#: fdmprinter.def.json
msgctxt "expand_upper_skins description"
msgid "Expand upper skin areas (areas with air above) so that they support infill above."
msgstr ""
msgstr "Expandir as áreas de contorno superiores (áreas com ar acima) de modo que suportem o preenchimento acima."
#: fdmprinter.def.json
msgctxt "expand_lower_skins label"
msgid "Expand Lower Skins"
msgstr ""
msgstr "Expandir Contornos Inferiores"
#: fdmprinter.def.json
msgctxt "expand_lower_skins description"
msgid "Expand lower skin areas (areas with air below) so that they are anchored by the infill layers above and below."
msgstr ""
msgstr "Expandir as áreas de contorno inferiores (áreas com ar abaixo) de modo que fiquem ancoradas pelas camadas de preenchimento acima e abaixo."
#: fdmprinter.def.json
msgctxt "expand_skins_expand_distance label"
msgid "Skin Expand Distance"
msgstr ""
msgstr "Distância de Expansão do Contorno"
#: fdmprinter.def.json
msgctxt "expand_skins_expand_distance description"
msgid "The distance the skins are expanded into the infill. The default distance is enough to bridge the gap between the infill lines and will stop holes appearing in the skin where it meets the wall when the infill density is low. A smaller distance will often be sufficient."
msgstr ""
msgstr "A distância que os contornos são expandidos para dentro do preenchimento. A distância default é suficiente para ligar o vão entre as linhas de preenchimento e impedirá que buracos apareçam no contorno onde ele encontrar a parede em que a densidade de preenchimento é baixa. Uma distância menor pode ser suficiente."
#: fdmprinter.def.json
msgctxt "max_skin_angle_for_expansion label"
msgid "Maximum Skin Angle for Expansion"
msgstr ""
msgstr "Ângulo Máximo do Contorno para Expansão"
#: fdmprinter.def.json
msgctxt "max_skin_angle_for_expansion description"
msgid "Top and/or bottom surfaces of your object with an angle larger than this setting, won't have their top/bottom skin expanded. This avoids expanding the narrow skin areas that are created when the model surface has a near vertical slope. An angle of 0° is horizontal, while an angle of 90° is vertical."
msgstr ""
msgstr "Superfícies Superiores e/ou Inferiores de seu objeto com um ângulo maior que este ajuste não terão seus contornos superior/inferior expandidos. Isto evita que expandam as áreas estreitas de contorno que são criadas quando a superfície do modelo tem uma inclinação praticamente vertical. Um ângulo de 0° é horizontal, um ângulo de 90° é vertical."
#: fdmprinter.def.json
msgctxt "min_skin_width_for_expansion label"
msgid "Minimum Skin Width for Expansion"
msgstr ""
msgstr "Largura Mínima de Contorno para Expansão"
#: fdmprinter.def.json
msgctxt "min_skin_width_for_expansion description"
msgid "Skin areas narrower than this are not expanded. This avoids expanding the narrow skin areas that are created when the model surface has a slope close to the vertical."
msgstr ""
msgstr "Áreas de contorno mais estreitas que esta não são expandidas. Isto evita expandir as áreas estreitas que são criadas quando a superfície do modelo tem inclinações quase verticais."
#: fdmprinter.def.json
msgctxt "material label"
@ -1299,7 +1299,7 @@ msgstr "Temperatura de Impressão"
#: fdmprinter.def.json
msgctxt "material_print_temperature description"
msgid "The temperature used for printing."
msgstr ""
msgstr "A temperatura usada para impressão."
#: fdmprinter.def.json
msgctxt "material_print_temperature_layer_0 label"
@ -1359,7 +1359,7 @@ msgstr "Temperatura da Mesa de Impressão"
#: fdmprinter.def.json
msgctxt "material_bed_temperature description"
msgid "The temperature used for the heated build plate. If this is 0, the bed will not heat up for this print."
msgstr ""
msgstr "A temperatura usada pela mesa aquecida de impressão. Se for 0, a mesa não aquecerá para esta impressão."
#: fdmprinter.def.json
msgctxt "material_bed_temperature_layer_0 label"
@ -1589,7 +1589,7 @@ msgstr "Velocidade da Parede Exterior"
#: fdmprinter.def.json
msgctxt "speed_wall_0 description"
msgid "The speed at which the outermost walls are printed. Printing the outer wall at a lower speed improves the final skin quality. However, having a large difference between the inner wall speed and the outer wall speed will affect quality in a negative way."
msgstr "A velocidade em que as paredes mais externas são impressas. Imprimir a parede mais externa a uma velocidade menor melhora a qualidade final da pele. No entanto, ter uma diferença muito grande entre a velocidade da parede interna e a velocidade da parede externa afetará a qualidade de forma negativa."
msgstr "A velocidade em que as paredes mais externas são impressas. Imprimir a parede mais externa a uma velocidade menor melhora a qualidade final do contorno. No entanto, ter uma diferença muito grande entre a velocidade da parede interna e a velocidade da parede externa afetará a qualidade de forma negativa."
#: fdmprinter.def.json
msgctxt "speed_wall_x label"
@ -2079,7 +2079,7 @@ msgstr "Modo de Combing"
#: fdmprinter.def.json
msgctxt "retraction_combing description"
msgid "Combing keeps the nozzle within already printed areas when traveling. This results in slightly longer travel moves but reduces the need for retractions. If combing is off, the material will retract and the nozzle moves in a straight line to the next point. It is also possible to avoid combing over top/bottom skin areas by combing within the infill only."
msgstr "O Combing, ou penteamento, mantém o bico dentro de áreas já impressas quando viaja. Isso resulta em movimentos de viagem ligeiramente mais longos mas reduz a necessidade de retrações. Se o penteamento estiver desligado, o material sofrerá retração e o bico se moverá em linha reta para o próximo ponto. É também possível evitar o penteamento em área de paredes superiores e inferiores habilitando o penteamento no preenchimento somente."
msgstr "O Combing, ou penteamento, mantém o bico dentro de áreas já impressas quando viaja. Isso resulta em movimentos de viagem ligeiramente mais longos mas reduz a necessidade de retrações. Se o penteamento estiver desligado, o material sofrerá retração e o bico se moverá em linha reta para o próximo ponto. É também possível evitar o penteamento em área de contornos superiores e inferiores habilitando o penteamento no preenchimento somente."
#: fdmprinter.def.json
msgctxt "retraction_combing option off"
@ -2094,17 +2094,17 @@ msgstr "Tudo"
#: fdmprinter.def.json
msgctxt "retraction_combing option noskin"
msgid "No Skin"
msgstr "Somente Preenchimento"
msgstr "Evita Contornos"
#: fdmprinter.def.json
msgctxt "travel_retract_before_outer_wall label"
msgid "Retract Before Outer Wall"
msgstr ""
msgstr "Retrair Antes da Parede Externa"
#: fdmprinter.def.json
msgctxt "travel_retract_before_outer_wall description"
msgid "Always retract when moving to start an outer wall."
msgstr ""
msgstr "Sempre retrair quando se mover para iniciar uma parede externa."
#: fdmprinter.def.json
msgctxt "travel_avoid_other_parts label"
@ -2139,7 +2139,7 @@ msgstr "Em cada camada iniciar imprimindo o objeto próximo ao mesmo ponto, de m
#: fdmprinter.def.json
msgctxt "layer_start_x label"
msgid "Layer Start X"
msgstr "X do Início da Camada"
msgstr "X Inicial da Camada"
#: fdmprinter.def.json
msgctxt "layer_start_x description"
@ -2149,7 +2149,7 @@ msgstr "A coordenada X da posição próxima de onde achar a parte com que come
#: fdmprinter.def.json
msgctxt "layer_start_y label"
msgid "Layer Start Y"
msgstr "Y do Início da Camada"
msgstr "Y Inicial da Camada"
#: fdmprinter.def.json
msgctxt "layer_start_y description"
@ -2484,7 +2484,7 @@ msgstr "Distância em Z do Suporte"
#: fdmprinter.def.json
msgctxt "support_z_distance description"
msgid "Distance from the top/bottom of the support structure to the print. This gap provides clearance to remove the supports after the model is printed. This value is rounded up to a multiple of the layer height."
msgstr ""
msgstr "Distância do topo e base da estrutura de suporte para a impressão. Este vão provê um espaço para remover os suportes depois de o modelo ser impresso. O valor é arredondado para um múltiplo da altura de camada."
#: fdmprinter.def.json
msgctxt "support_top_distance label"
@ -2584,7 +2584,7 @@ msgstr "Habilitar Interface de Suporte"
#: fdmprinter.def.json
msgctxt "support_interface_enable description"
msgid "Generate a dense interface between the model and the support. This will create a skin at the top of the support on which the model is printed and at the bottom of the support, where it rests on the model."
msgstr "Gera uma interface densa entre o modelo e o suporte. Isto criará uma pele no topo do suporte em que o modelo é impresso e na base do suporte, onde ele fica sobre o modelo."
msgstr "Gera uma interface densa entre o modelo e o suporte. Isto criará um contorno no topo do suporte em que o modelo é impresso e na base do suporte, onde ele fica sobre o modelo."
#: fdmprinter.def.json
msgctxt "support_interface_height label"
@ -3583,7 +3583,7 @@ msgstr "Velocidade de Desengrenagem"
#: fdmprinter.def.json
msgctxt "coasting_speed description"
msgid "The speed by which to move during coasting, relative to the speed of the extrusion path. A value slightly under 100% is advised, since during the coasting move the pressure in the bowden tube drops."
msgstr "A velocidade pela qual se mover durante a desengrenagem, relativa à velocidade do caminho de extrusão. Um valor ligeiramente menor que 100%% é sugerido, já que durante a desengrenagem a pressão dentro do hotend cai."
msgstr "A velocidade pela qual se mover durante a desengrenagem, relativa à velocidade do caminho de extrusão. Um valor ligeiramente menor que 100% é sugerido, já que durante a desengrenagem a pressão dentro do hotend cai."
#: fdmprinter.def.json
msgctxt "skin_outline_count label"
@ -3648,7 +3648,7 @@ msgstr "Remove todo o preenchimento e torna o interior oco do objeto elegível a
#: fdmprinter.def.json
msgctxt "magic_fuzzy_skin_enabled label"
msgid "Fuzzy Skin"
msgstr "Pele Felpuda"
msgstr "Contorno Felpudo"
#: fdmprinter.def.json
msgctxt "magic_fuzzy_skin_enabled description"
@ -3658,7 +3658,7 @@ msgstr "Faz flutuações de movimento aleatório enquanto imprime a parede mais
#: fdmprinter.def.json
msgctxt "magic_fuzzy_skin_thickness label"
msgid "Fuzzy Skin Thickness"
msgstr "Espessura da Pele Felpuda"
msgstr "Espessura do Contorno Felpudo"
#: fdmprinter.def.json
msgctxt "magic_fuzzy_skin_thickness description"
@ -3668,7 +3668,7 @@ msgstr "A largura dentro da qual flutuar. É sugerido deixar este valor abaixo d
#: fdmprinter.def.json
msgctxt "magic_fuzzy_skin_point_density label"
msgid "Fuzzy Skin Density"
msgstr "Densidade da Pele Felpuda"
msgstr "Densidade do Contorno Felpudo"
#: fdmprinter.def.json
msgctxt "magic_fuzzy_skin_point_density description"
@ -3678,12 +3678,12 @@ msgstr "A densidade média dos pontos introduzidos em cada polígono de uma cama
#: fdmprinter.def.json
msgctxt "magic_fuzzy_skin_point_dist label"
msgid "Fuzzy Skin Point Distance"
msgstr "Distância de Pontos da Pele Felpuda"
msgstr "Distância de Pontos do Contorno Felpudo"
#: fdmprinter.def.json
msgctxt "magic_fuzzy_skin_point_dist description"
msgid "The average distance between the random points introduced on each line segment. Note that the original points of the polygon are discarded, so a high smoothness results in a reduction of the resolution. This value must be higher than half the Fuzzy Skin Thickness."
msgstr "A distância média entre os pontos aleatórios introduzidos em cada segmento de linha. Note que os pontos originais do polígono são descartados, portanto umo alto alisamento resulta em redução da resolução. Este valor deve ser maior que a metade da Espessura da Pele Felpuda."
msgstr "A distância média entre os pontos aleatórios introduzidos em cada segmento de linha. Note que os pontos originais do polígono são descartados, portanto umo alto alisamento resulta em redução da resolução. Este valor deve ser maior que a metade da Espessura do Contorno Felpudo."
#: fdmprinter.def.json
msgctxt "wireframe_enabled label"

View file

@ -1,16 +1,16 @@
# Cura
# Copyright (C) 2017 Ultimaker
# This file is distributed under the same license as the Cura package.
# Ruben Dulek <r.dulek@ultimaker.com>, 2017.
# SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
# This file is distributed under the same license as the PACKAGE package.
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
#
msgid ""
msgstr ""
"Project-Id-Version: Cura 2.5\n"
"Report-Msgid-Bugs-To: https://github.com/Ultimaker/Cura\n"
"Project-Id-Version: \n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2017-03-27 17:27+0200\n"
"PO-Revision-Date: 2017-03-30 12:10+0300\n"
"Last-Translator: Ruslan Popov <ruslan.popov@gmail.com>\n"
"Language-Team: Ruslan Popov <ruslan.popov@gmail.com>\n"
"Language-Team: \n"
"Language: ru\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"

View file

@ -1,17 +1,12 @@
# Cura JSON setting files
# Copyright (C) 2017 Ultimaker
# This file is distributed under the same license as the Cura package.
# Ruben Dulek <r.dulek@ultimaker.com>, 2017.
#
#, fuzzy
msgid ""
msgstr ""
"Project-Id-Version: Cura 2.5\n"
"Report-Msgid-Bugs-To: http://github.com/Ultimaker/Cura\n"
"Project-Id-Version: Uranium json setting files\n"
"Report-Msgid-Bugs-To: http://github.com/ultimaker/uranium\n"
"POT-Creation-Date: 2017-03-27 17:27+0000\n"
"PO-Revision-Date: 2017-03-28 04:33+0300\n"
"Language-Team: Ruslan Popov <ruslan.popov@gmail.com>\n"
"Language: ru\n"
"PO-Revision-Date: 2017-01-08 04:33+0300\n"
"Last-Translator: Ruslan Popov <ruslan.popov@gmail.com>\n"
"Language-Team: \n"
"Language: ru_RU\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"

View file

@ -1,17 +1,12 @@
# Cura JSON setting files
# Copyright (C) 2017 Ultimaker
# This file is distributed under the same license as the Cura package.
# Ruben Dulek <r.dulek@ultimaker.com>, 2017.
#
#, fuzzy
msgid ""
msgstr ""
"Project-Id-Version: Cura 2.5\n"
"Report-Msgid-Bugs-To: http://github.com/Ultimaker/Cura\n"
"Project-Id-Version: Uranium json setting files\n"
"Report-Msgid-Bugs-To: http://github.com/ultimaker/uranium\n"
"POT-Creation-Date: 2017-03-27 17:27+0000\n"
"PO-Revision-Date: 2017-03-28 04:41+0300\n"
"Language-Team: Ruslan Popov <ruslan.popov@gmail.com>\n"
"Language: ru\n"
"PO-Revision-Date: 2017-03-30 15:05+0300\n"
"Last-Translator: Ruslan Popov <ruslan.popov@gmail.com>\n"
"Language-Team: \n"
"Language: ru_RU\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"

Binary file not shown.

File diff suppressed because it is too large Load diff

Binary file not shown.

View file

@ -180,7 +180,7 @@ UM.Dialog
anchors.bottom:parent.bottom
spacing: UM.Theme.getSize("default_margin").width
Label
Text
{
text: catalog.i18nc("@label", "Printer Name:")
anchors.verticalCenter: machineName.verticalCenter

View file

@ -6,6 +6,7 @@ import QtQuick.Controls 1.1
import QtQuick.Controls.Styles 1.1
import QtQuick.Layouts 1.1
import QtQuick.Dialogs 1.1
import QtQuick.Window 2.1
import UM 1.3 as UM
import Cura 1.0 as Cura
@ -17,13 +18,13 @@ UM.Dialog
id: base
title: catalog.i18nc("@title:window", "Open project file")
width: 420
height: 140
width: 450 * Screen.devicePixelRatio
height: 150 * Screen.devicePixelRatio
maximumHeight: height
maximumWidth: width
minimumHeight: height
minimumWidth: width
minimumHeight: maximumHeight
minimumWidth: maximumWidth
modality: UM.Application.platform == "linux" ? Qt.NonModal : Qt.WindowModal;
@ -60,15 +61,16 @@ UM.Dialog
Column
{
anchors.fill: parent
anchors.margins: UM.Theme.getSize("default_margin").width
anchors.left: parent.left
anchors.right: parent.right
spacing: UM.Theme.getSize("default_margin").width
anchors.leftMargin: 20 * Screen.devicePixelRatio
anchors.rightMargin: 20 * Screen.devicePixelRatio
anchors.bottomMargin: 20 * Screen.devicePixelRatio
spacing: 10 * Screen.devicePixelRatio
Label
{
text: catalog.i18nc("@text:window", "This is a Cura project file. Would you like to open it as a project\nor import the models from it?")
anchors.margins: UM.Theme.getSize("default_margin").width
text: catalog.i18nc("@text:window", "This is a Cura project file. Would you like to open it as a project or import the models from it?")
anchors.left: parent.left
anchors.right: parent.right
font: UM.Theme.getFont("default")
wrapMode: Text.WordWrap
}
@ -77,7 +79,6 @@ UM.Dialog
{
id: rememberChoiceCheckBox
text: catalog.i18nc("@text:window", "Remember my choice")
anchors.margins: UM.Theme.getSize("default_margin").width
checked: UM.Preferences.getValue("cura/choice_on_open_project") != "always_ask"
}
@ -93,7 +94,7 @@ UM.Dialog
id: openAsProjectButton
text: catalog.i18nc("@action:button", "Open as project");
anchors.right: importModelsButton.left
anchors.rightMargin: UM.Theme.getSize("default_margin").width
anchors.rightMargin: UM.Theme.getSize("default_margin").width * Screen.devicePixelRatio
isDefault: true
onClicked:
{

View file

@ -132,7 +132,7 @@ Item {
}
}
Label
Text
{
id: boundingSpec
anchors.top: jobNameRow.bottom
@ -169,7 +169,7 @@ Item {
color: UM.Theme.getColor("text_subtext")
source: UM.Theme.getIcon("print_time")
}
Label
Text
{
id: timeSpec
anchors.right: lengthIcon.left
@ -192,7 +192,7 @@ Item {
color: UM.Theme.getColor("text_subtext")
source: UM.Theme.getIcon("category_material")
}
Label
Text
{
id: lengthSpec
anchors.right: parent.right

View file

@ -15,6 +15,15 @@ Menu
property int extruderIndex: 0
property bool printerConnected: Cura.MachineManager.printerOutputDevices.length != 0
UM.SettingPropertyProvider
{
id: materialDiameterProvider
containerStackId: Cura.MachineManager.activeMachineId
key: "material_diameter"
watchedProperties: [ "value" ]
}
MenuItem
{
id: automaticMaterial
@ -141,7 +150,7 @@ Menu
function materialFilter()
{
var result = { "type": "material" };
var result = { "type": "material", "approximate_diameter": Math.round(materialDiameterProvider.properties.value) };
if(Cura.MachineManager.filterMaterialsByMachine)
{
result.definition = Cura.MachineManager.activeQualityDefinitionId;

View file

@ -6,6 +6,7 @@ import QtQuick.Controls 1.1
import QtQuick.Controls.Styles 1.1
import QtQuick.Layouts 1.1
import QtQuick.Dialogs 1.1
import QtQuick.Window 2.1
import UM 1.3 as UM
import Cura 1.0 as Cura
@ -16,8 +17,8 @@ UM.Dialog
id: base
title: catalog.i18nc("@title:window", "Open file(s)")
width: 420
height: 170
width: 420 * Screen.devicePixelRatio
height: 170 * Screen.devicePixelRatio
maximumHeight: height
maximumWidth: width
@ -51,15 +52,18 @@ UM.Dialog
Column
{
anchors.fill: parent
anchors.margins: UM.Theme.getSize("default_margin").width
anchors.leftMargin: 20 * Screen.devicePixelRatio
anchors.rightMargin: 20 * Screen.devicePixelRatio
anchors.bottomMargin: 20 * Screen.devicePixelRatio
anchors.left: parent.left
anchors.right: parent.right
spacing: UM.Theme.getSize("default_margin").width
spacing: 10 * Screen.devicePixelRatio
Text
{
text: catalog.i18nc("@text:window", "We have found one or more project file(s) within the files you\nhave selected. You can open only one project file at a time. We\nsuggest to only import models from those files. Would you like\nto proceed?")
anchors.margins: UM.Theme.getSize("default_margin").width
text: catalog.i18nc("@text:window", "We have found one or more project file(s) within the files you have selected. You can open only one project file at a time. We suggest to only import models from those files. Would you like to proceed?")
anchors.left: parent.left
anchors.right: parent.right
font: UM.Theme.getFont("default")
wrapMode: Text.WordWrap
}
@ -82,7 +86,6 @@ UM.Dialog
id: cancelButton
text: catalog.i18nc("@action:button", "Cancel");
anchors.right: importAllAsModelsButton.left
anchors.rightMargin: UM.Theme.getSize("default_margin").width
onClicked:
{
// cancel

View file

@ -133,8 +133,6 @@ UM.PreferencesPage
append({ text: "Suomi", code: "fi" })
append({ text: "Français", code: "fr" })
append({ text: "Italiano", code: "it" })
append({ text: "日本語", code: "jp" })
append({ text: "한국어", code: "ko" })
append({ text: "Nederlands", code: "nl" })
append({ text: "Português do Brasil", code: "ptbr" })
append({ text: "Русский", code: "ru" })

View file

@ -66,7 +66,7 @@ UM.ManagementPage
visible: base.currentItem != null
anchors.fill: parent
Label
Text
{
id: machineName
text: base.currentItem && base.currentItem.name ? base.currentItem.name : ""
@ -146,26 +146,28 @@ UM.ManagementPage
property var connectedPrinter: printerConnected ? Cura.MachineManager.printerOutputDevices[0] : null
property bool printerAcceptsCommands: printerConnected && Cura.MachineManager.printerOutputDevices[0].acceptsCommands
Label
Text
{
text: catalog.i18nc("@label", "Printer type:")
visible: base.currentItem && "definition_name" in base.currentItem.metadata
}
Label {
Text
{
text: (base.currentItem && "definition_name" in base.currentItem.metadata) ? base.currentItem.metadata.definition_name : ""
}
Label
Text
{
text: catalog.i18nc("@label", "Connection:")
visible: base.currentItem && base.currentItem.id == Cura.MachineManager.activeMachineId
}
Label {
Text
{
width: parent.width * 0.7
text: machineInfo.printerConnected ? machineInfo.connectedPrinter.connectionText : catalog.i18nc("@info:status", "The printer is not connected.")
visible: base.currentItem && base.currentItem.id == Cura.MachineManager.activeMachineId
wrapMode: Text.WordWrap
}
Label
Text
{
text: catalog.i18nc("@label", "State:")
visible: base.currentItem && base.currentItem.id == Cura.MachineManager.activeMachineId && machineInfo.printerAcceptsCommands

View file

@ -273,17 +273,28 @@ TabView
{
id: spinBox
anchors.left: label.right
value: parseFloat(provider.properties.value);
width: base.secondColumnWidth;
value: {
if (!isNaN(parseFloat(materialPropertyProvider.properties.value)))
{
return parseFloat(materialPropertyProvider.properties.value);
}
if (!isNaN(parseFloat(machinePropertyProvider.properties.value)))
{
return parseFloat(machinePropertyProvider.properties.value);
}
return 0;
}
width: base.secondColumnWidth
readOnly: !base.editingEnabled
suffix: model.unit
suffix: " " + model.unit
maximumValue: 99999
decimals: model.unit == "mm" ? 2 : 0
onEditingFinished: provider.setPropertyValue("value", value)
onEditingFinished: materialPropertyProvider.setPropertyValue("value", value)
}
UM.ContainerPropertyProvider { id: provider; containerId: base.containerId; watchedProperties: [ "value" ]; key: model.key }
UM.ContainerPropertyProvider { id: materialPropertyProvider; containerId: base.containerId; watchedProperties: [ "value" ]; key: model.key }
UM.ContainerPropertyProvider { id: machinePropertyProvider; containerId: Cura.MachineManager.activeDefinitionId; watchedProperties: [ "value" ]; key: model.key }
}
}
}

View file

@ -18,7 +18,7 @@ UM.ManagementPage
{
filter:
{
var result = { "type": "material" }
var result = { "type": "material", "approximate_diameter": Math.round(materialDiameterProvider.properties.value) }
if(Cura.MachineManager.filterMaterialsByMachine)
{
result.definition = Cura.MachineManager.activeQualityDefinitionId;
@ -327,6 +327,15 @@ UM.ManagementPage
id: messageDialog
}
UM.SettingPropertyProvider
{
id: materialDiameterProvider
containerStackId: Cura.MachineManager.activeMachineId
key: "material_diameter"
watchedProperties: [ "value" ]
}
UM.I18nCatalog { id: catalog; name: "cura"; }
SystemPalette { id: palette }
}

View file

@ -27,7 +27,7 @@ Column
height: childrenRect.height + UM.Theme.getSize("default_margin").height * 2
color: UM.Theme.getColor("setting_category")
Label
Text
{
id: connectedPrinterNameLabel
text: connectedPrinter != null ? connectedPrinter.name : catalog.i18nc("@info:status", "No printer connected")
@ -37,7 +37,7 @@ Column
anchors.top: parent.top
anchors.margins: UM.Theme.getSize("default_margin").width
}
Label
Text
{
id: connectedPrinterAddressLabel
text: (connectedPrinter != null && connectedPrinter.address != null) ? connectedPrinter.address : ""
@ -47,7 +47,7 @@ Column
anchors.right: parent.right
anchors.margins: UM.Theme.getSize("default_margin").width
}
Label
Text
{
text: connectedPrinter != null ? connectedPrinter.connectionText : catalog.i18nc("@info:status", "The printer is not connected.")
color: connectedPrinter != null && connectedPrinter.acceptsCommands ? UM.Theme.getColor("setting_control_text") : UM.Theme.getColor("setting_control_disabled_text")
@ -85,7 +85,7 @@ Column
width: index == machineExtruderCount.properties.value - 1 && index % 2 == 0 ? extrudersGrid.width : extrudersGrid.width / 2 - UM.Theme.getSize("sidebar_lining_thin").width / 2
height: UM.Theme.getSize("sidebar_extruder_box").height
Label //Extruder name.
Text //Extruder name.
{
text: ExtruderManager.getExtruderName(index) != "" ? ExtruderManager.getExtruderName(index) : catalog.i18nc("@label", "Hotend")
color: UM.Theme.getColor("text")
@ -94,7 +94,7 @@ Column
anchors.top: parent.top
anchors.margins: UM.Theme.getSize("default_margin").width
}
Label //Temperature indication.
Text //Temperature indication.
{
id: extruderTemperature
text: (connectedPrinter != null && connectedPrinter.hotendIds[index] != null && connectedPrinter.hotendTemperatures[index] != null) ? Math.round(connectedPrinter.hotendTemperatures[index]) + "°C" : ""
@ -161,7 +161,7 @@ Column
}
}
}
Label //Material name.
Text //Material name.
{
id: materialName
text: (connectedPrinter != null && connectedPrinter.materialNames[index] != null && connectedPrinter.materialIds[index] != "") ? connectedPrinter.materialNames[index] : ""
@ -193,7 +193,7 @@ Column
}
}
}
Label //Variant name.
Text //Variant name.
{
id: variantName
text: (connectedPrinter != null && connectedPrinter.hotendIds[index] != null) ? connectedPrinter.hotendIds[index] : ""
@ -244,7 +244,7 @@ Column
height: machineHeatedBed.properties.value == "True" ? UM.Theme.getSize("sidebar_extruder_box").height : 0
visible: machineHeatedBed.properties.value == "True"
Label //Build plate label.
Text //Build plate label.
{
text: catalog.i18nc("@label", "Build plate")
font: UM.Theme.getFont("default")
@ -253,7 +253,7 @@ Column
anchors.top: parent.top
anchors.margins: UM.Theme.getSize("default_margin").width
}
Label //Target temperature.
Text //Target temperature.
{
id: bedTargetTemperature
text: connectedPrinter != null ? connectedPrinter.targetBedTemperature + "°C" : ""
@ -285,7 +285,7 @@ Column
}
}
}
Label //Current temperature.
Text //Current temperature.
{
id: bedCurrentTemperature
text: connectedPrinter != null ? connectedPrinter.bedTemperature + "°C" : ""
@ -353,7 +353,7 @@ Column
color: UM.Theme.getColor("setting_control_highlight")
opacity: preheatTemperatureControl.hovered ? 1.0 : 0
}
Label //Maximum temperature indication.
Text //Maximum temperature indication.
{
text: (bedTemperature.properties.maximum_value != "None" ? bedTemperature.properties.maximum_value : "") + "°C"
color: UM.Theme.getColor("setting_unit")
@ -452,7 +452,7 @@ Column
}
}
}
Label
Text
{
id: preheatCountdown
text: connectedPrinter != null ? connectedPrinter.preheatBedRemainingTime : ""
@ -546,7 +546,7 @@ Column
}
}
Label
Text
{
id: actualLabel
anchors.centerIn: parent
@ -649,6 +649,7 @@ Column
sourceComponent: monitorItem
property string label: catalog.i18nc("@label", "Estimated time left")
property string value: connectedPrinter != null ? getPrettyTime(connectedPrinter.timeTotal - connectedPrinter.timeElapsed) : ""
visible: connectedPrinter != null && (connectedPrinter.jobState == "printing" || connectedPrinter.jobState == "resuming" || connectedPrinter.jobState == "pausing" || connectedPrinter.jobState == "paused")
}
Component
@ -662,7 +663,7 @@ Column
anchors.left: parent.left
anchors.leftMargin: UM.Theme.getSize("default_margin").width
Label
Text
{
width: parent.width * 0.4
anchors.verticalCenter: parent.verticalCenter
@ -671,7 +672,7 @@ Column
font: UM.Theme.getFont("default")
elide: Text.ElideRight
}
Label
Text
{
width: parent.width * 0.6
anchors.verticalCenter: parent.verticalCenter
@ -692,7 +693,7 @@ Column
width: base.width
height: UM.Theme.getSize("section").height
Label
Text
{
anchors.verticalCenter: parent.verticalCenter
anchors.left: parent.left

View file

@ -44,7 +44,7 @@ Item {
}
}
Label {
Text {
id: statusLabel
width: parent.width - 2 * UM.Theme.getSize("default_margin").width
anchors.top: parent.top

View file

@ -299,7 +299,7 @@ Item
}
}
UM.I18nCatalog { id: catalog; name: "uranium"; }
UM.I18nCatalog { id: catalog; name: "cura"; }
add: Transition {
SequentialAnimation {

95
resources/qml/Sidebar.qml Normal file → Executable file
View file

@ -332,7 +332,7 @@ Rectangle
}
}
Label {
Text {
id: settingsModeLabel
text: !hideSettings ? catalog.i18nc("@label:listbox", "Print Setup") : catalog.i18nc("@label:listbox","Print Setup disabled\nG-code files cannot be modified");
anchors.left: parent.left
@ -407,14 +407,81 @@ Rectangle
}
}
ExclusiveGroup { id: modeMenuGroup; }
ListView{
id: modesList
property var index: 0
model: modesListModel
delegate: wizardDelegate
anchors.top: parent.top
anchors.left: parent.left
width: parent.width
Text
{
id: toggleLeftText
anchors.right: modeToggleSwitch.left
anchors.rightMargin: UM.Theme.getSize("toggle_button_text_anchoring_margin").width
anchors.verticalCenter: parent.verticalCenter
text: ""
color: UM.Theme.getColor("toggle_active_text")
font: UM.Theme.getFont("default")
MouseArea
{
anchors.fill: parent
onClicked:
{
modeToggleSwitch.checked = false;
}
Component.onCompleted:
{
clicked.connect(modeToggleSwitch.clicked)
}
}
}
Switch
{
id: modeToggleSwitch
checked: false
anchors.right: toggleRightText.left
anchors.rightMargin: UM.Theme.getSize("toggle_button_text_anchoring_margin").width
anchors.verticalCenter: parent.verticalCenter
onClicked:
{
var index = 0;
if (checked)
{
index = 1;
}
updateActiveMode(index);
}
function updateActiveMode(index)
{
base.currentModeIndex = index;
UM.Preferences.setValue("cura/active_mode", index);
}
style: UM.Theme.styles.toggle_button
}
Text
{
id: toggleRightText
anchors.right: parent.right
anchors.verticalCenter: parent.verticalCenter
text: ""
color: UM.Theme.getColor("toggle_active_text")
font: UM.Theme.getFont("default")
MouseArea
{
anchors.fill: parent
onClicked:
{
modeToggleSwitch.checked = true;
}
Component.onCompleted:
{
clicked.connect(modeToggleSwitch.clicked)
}
}
}
}
@ -541,10 +608,14 @@ Rectangle
})
sidebarContents.push({ "item": modesListModel.get(base.currentModeIndex).item, "immediate": true });
var index = parseInt(UM.Preferences.getValue("cura/active_mode"))
if(index)
toggleLeftText.text = modesListModel.get(0).text;
toggleRightText.text = modesListModel.get(1).text;
var index = parseInt(UM.Preferences.getValue("cura/active_mode"));
if (index)
{
currentModeIndex = index;
modeToggleSwitch.checked = index > 0;
}
}
@ -567,4 +638,4 @@ Rectangle
watchedProperties: [ "value" ]
storeIndex: 0
}
}
}

View file

@ -128,7 +128,7 @@ Column
border.color: UM.Theme.getColor("setting_control_border")
}
Label
Text
{
anchors.verticalCenter: parent.verticalCenter
anchors.left: swatch.visible ? swatch.right : parent.left
@ -174,7 +174,7 @@ Column
rightMargin: UM.Theme.getSize("default_margin").width
}
Label
Text
{
id: variantLabel
text:
@ -272,7 +272,7 @@ Column
}
Label
Text
{
id: globalProfileLabel
text: catalog.i18nc("@label","Profile:");

View file

@ -33,7 +33,7 @@ Item
width: base.width * .45 - UM.Theme.getSize("default_margin").width
height: childrenRect.height
Label
Text
{
id: infillLabel
//: Infill selection label
@ -162,7 +162,7 @@ Item
}
}
}
Label
Text
{
id: infillLabel
font: UM.Theme.getFont("default")
@ -225,14 +225,14 @@ Item
anchors.right: parent.right
height: childrenRect.height
Label
Text
{
id: enableSupportLabel
anchors.left: parent.left
anchors.leftMargin: UM.Theme.getSize("default_margin").width
anchors.verticalCenter: enableSupportCheckBox.verticalCenter
width: parent.width * .45 - 3 * UM.Theme.getSize("default_margin").width
text: catalog.i18nc("@label", "Enable Support");
text: catalog.i18nc("@label", "Generate Support");
font: UM.Theme.getFont("default");
color: UM.Theme.getColor("text");
}
@ -263,7 +263,7 @@ Item
onEntered:
{
base.showTooltip(enableSupportCheckBox, Qt.point(-enableSupportCheckBox.x, 0),
catalog.i18nc("@label", "Enable support structures. These structures support parts of the model with severe overhangs."));
catalog.i18nc("@label", "Generate structures to support parts of the model which have overhangs. Without these structures, such parts would collapse during printing."));
}
onExited:
{
@ -272,7 +272,7 @@ Item
}
}
Label
Text
{
id: supportExtruderLabel
visible: (supportEnabled.properties.value == "True") && (machineExtruderCount.properties.value > 1)
@ -372,7 +372,7 @@ Item
}
Label
Text
{
id: adhesionHelperLabel
anchors.left: parent.left
@ -470,7 +470,7 @@ Item
width: parent.width
height: childrenRect.height
Label
Text
{
anchors.left: parent.left
anchors.leftMargin: UM.Theme.getSize("default_margin").width

View file

@ -43,7 +43,7 @@ UM.PointingRectangle {
base.opacity = 0;
}
Label {
Text {
id: label;
anchors {
top: parent.top;

View file

@ -0,0 +1,56 @@
[general]
version = 2
name = High Quality
definition = cartesio
[metadata]
type = quality
quality_type = high
material = generic_abs_cartesio_0.25_mm
weight = 1
[values]
infill_line_width = 0.3
wall_thickness = 1
top_bottom_thickness = 0.8
wall_0_inset = -0.05
fill_perimeter_gaps = nowhere
travel_compensate_overlapping_walls_enabled =
infill_sparse_density = 40
infill_pattern = grid
material_print_temperature_layer_0 = =material_print_temperature + 5
material_initial_print_temperature = =material_print_temperature
material_final_print_temperature = =material_print_temperature
material_diameter = 1.75
retraction_min_travel = =round(line_width * 10)
retraction_prime_speed = 10
switch_extruder_retraction_amount = 2
switch_extruder_retraction_speeds = =retraction_speed
switch_extruder_prime_speed = =retraction_prime_speed
speed_print = 50
speed_infill = =speed_print
speed_layer_0 = =round(speed_print / 5 * 4)
speed_wall = =round(speed_print / 2)
speed_wall_0 = =10 if speed_wall < 11 else (speed_print / 5 *3)
speed_topbottom = =round(speed_print / 5 * 4)
speed_slowdown_layers = 1
speed_travel = =round(speed_print if magic_spiralize else 150)
speed_travel_layer_0 = =speed_travel
speed_support_interface = =speed_topbottom
retraction_hop_enabled = True
retraction_hop = 1
cool_min_layer_time_fan_speed_max = =cool_min_layer_time
cool_min_layer_time = 20
skirt_brim_minimal_length = 50
coasting_enable = True
coasting_volume = 0.1
coasting_min_volume = 0.17
coasting_speed = 90

View file

@ -0,0 +1,56 @@
[general]
version = 2
name = Normal Quality
definition = cartesio
[metadata]
type = quality
quality_type = normal
material = generic_abs_cartesio_0.25_mm
weight = 2
[values]
infill_line_width = 0.3
wall_thickness = 1
top_bottom_thickness = 0.8
wall_0_inset = -0.05
fill_perimeter_gaps = nowhere
travel_compensate_overlapping_walls_enabled =
infill_sparse_density = 40
infill_pattern = grid
material_print_temperature_layer_0 = =material_print_temperature + 5
material_initial_print_temperature = =material_print_temperature
material_final_print_temperature = =material_print_temperature
material_diameter = 1.75
retraction_min_travel = =round(line_width * 10)
retraction_prime_speed = 10
switch_extruder_retraction_amount = 2
switch_extruder_retraction_speeds = =retraction_speed
switch_extruder_prime_speed = =retraction_prime_speed
speed_print = 50
speed_infill = =speed_print
speed_layer_0 = =round(speed_print / 5 * 4)
speed_wall = =round(speed_print / 2)
speed_wall_0 = =10 if speed_wall < 11 else (speed_print / 5 *3)
speed_topbottom = =round(speed_print / 5 * 4)
speed_slowdown_layers = 1
speed_travel = =round(speed_print if magic_spiralize else 150)
speed_travel_layer_0 = =speed_travel
speed_support_interface = =speed_topbottom
retraction_hop_enabled = True
retraction_hop = 1
cool_min_layer_time_fan_speed_max = =cool_min_layer_time
cool_min_layer_time = 20
skirt_brim_minimal_length = 50
coasting_enable = True
coasting_volume = 0.1
coasting_min_volume = 0.17
coasting_speed = 90

View file

@ -0,0 +1,56 @@
[general]
version = 2
name = High Quality
definition = cartesio
[metadata]
type = quality
quality_type = high
material = generic_abs_cartesio_0.4_mm
weight = 1
[values]
infill_line_width = 0.5
wall_thickness = 1.2
top_bottom_thickness = 0.8
wall_0_inset = -0.05
fill_perimeter_gaps = nowhere
travel_compensate_overlapping_walls_enabled =
infill_sparse_density = 40
infill_pattern = grid
material_print_temperature_layer_0 = =material_print_temperature + 5
material_initial_print_temperature = =material_print_temperature
material_final_print_temperature = =material_print_temperature
material_diameter = 1.75
retraction_min_travel = =round(line_width * 10)
retraction_prime_speed = 10
switch_extruder_retraction_amount = 2
switch_extruder_retraction_speeds = =retraction_speed
switch_extruder_prime_speed = =retraction_prime_speed
speed_print = 50
speed_infill = =speed_print
speed_layer_0 = =round(speed_print / 5 * 4)
speed_wall = =round(speed_print / 2)
speed_wall_0 = =10 if speed_wall < 11 else (speed_print / 5 *3)
speed_topbottom = =round(speed_print / 5 * 4)
speed_slowdown_layers = 1
speed_travel = =round(speed_print if magic_spiralize else 150)
speed_travel_layer_0 = =speed_travel
speed_support_interface = =speed_topbottom
retraction_hop_enabled = True
retraction_hop = 1
cool_min_layer_time_fan_speed_max = =cool_min_layer_time
cool_min_layer_time = 20
skirt_brim_minimal_length = 50
coasting_enable = True
coasting_volume = 0.1
coasting_min_volume = 0.17
coasting_speed = 90

View file

@ -0,0 +1,56 @@
[general]
version = 2
name = Normal Quality
definition = cartesio
[metadata]
type = quality
quality_type = normal
material = generic_abs_cartesio_0.4_mm
weight = 2
[values]
infill_line_width = 0.5
wall_thickness = 1.2
top_bottom_thickness = 0.8
wall_0_inset = -0.05
fill_perimeter_gaps = nowhere
travel_compensate_overlapping_walls_enabled =
infill_sparse_density = 40
infill_pattern = grid
material_print_temperature_layer_0 = =material_print_temperature + 5
material_initial_print_temperature = =material_print_temperature
material_final_print_temperature = =material_print_temperature
material_diameter = 1.75
retraction_min_travel = =round(line_width * 10)
retraction_prime_speed = 10
switch_extruder_retraction_amount = 2
switch_extruder_retraction_speeds = =retraction_speed
switch_extruder_prime_speed = =retraction_prime_speed
speed_print = 50
speed_infill = =speed_print
speed_layer_0 = =round(speed_print / 5 * 4)
speed_wall = =round(speed_print / 2)
speed_wall_0 = =10 if speed_wall < 11 else (speed_print / 5 *3)
speed_topbottom = =round(speed_print / 5 * 4)
speed_slowdown_layers = 1
speed_travel = =round(speed_print if magic_spiralize else 150)
speed_travel_layer_0 = =speed_travel
speed_support_interface = =speed_topbottom
retraction_hop_enabled = True
retraction_hop = 1
cool_min_layer_time_fan_speed_max = =cool_min_layer_time
cool_min_layer_time = 20
skirt_brim_minimal_length = 50
coasting_enable = True
coasting_volume = 0.1
coasting_min_volume = 0.17
coasting_speed = 90

View file

@ -0,0 +1,56 @@
[general]
version = 2
name = Coarse Quality
definition = cartesio
[metadata]
type = quality
quality_type = coarse
material = generic_abs_cartesio_0.8_mm
weight = 3
[values]
infill_line_width = 0.9
wall_thickness = 2.4
top_bottom_thickness = =layer_height * 3
wall_0_inset = -0.05
fill_perimeter_gaps = nowhere
travel_compensate_overlapping_walls_enabled =
infill_sparse_density = 40
infill_pattern = grid
material_print_temperature_layer_0 = =material_print_temperature + 5
material_initial_print_temperature = =material_print_temperature
material_final_print_temperature = =material_print_temperature
material_diameter = 1.75
retraction_min_travel = =round(line_width * 10)
retraction_prime_speed = 10
switch_extruder_retraction_amount = 2
switch_extruder_retraction_speeds = =retraction_speed
switch_extruder_prime_speed = =retraction_prime_speed
speed_print = 30
speed_infill = =speed_print
speed_layer_0 = =round(speed_print / 5 * 4)
speed_wall = =round(speed_print / 2)
speed_wall_0 = =10 if speed_wall < 11 else (speed_print / 5 *3)
speed_topbottom = =round(speed_print / 5 * 4)
speed_slowdown_layers = 1
speed_travel = =round(speed_print if magic_spiralize else 150)
speed_travel_layer_0 = =speed_travel
speed_support_interface = =speed_topbottom
retraction_hop_enabled = True
retraction_hop = 1
cool_min_layer_time_fan_speed_max = =cool_min_layer_time
cool_min_layer_time = 20
skirt_brim_minimal_length = 50
coasting_enable = True
coasting_volume = 0.1
coasting_min_volume = 0.17
coasting_speed = 90

View file

@ -0,0 +1,56 @@
[general]
version = 2
name = Extra Coarse Quality
definition = cartesio
[metadata]
type = quality
quality_type = extra coarse
material = generic_abs_cartesio_0.8_mm
weight = 4
[values]
infill_line_width = 0.9
wall_thickness = 2.4
top_bottom_thickness = =layer_height * 3
wall_0_inset = -0.05
fill_perimeter_gaps = nowhere
travel_compensate_overlapping_walls_enabled =
infill_sparse_density = 40
infill_pattern = grid
material_print_temperature_layer_0 = =material_print_temperature + 5
material_initial_print_temperature = =material_print_temperature
material_final_print_temperature = =material_print_temperature
material_diameter = 1.75
retraction_min_travel = =round(line_width * 10)
retraction_prime_speed = 10
switch_extruder_retraction_amount = 2
switch_extruder_retraction_speeds = =retraction_speed
switch_extruder_prime_speed = =retraction_prime_speed
speed_print = 25
speed_infill = =speed_print
speed_layer_0 = =round(speed_print / 5 * 4)
speed_wall = =round(speed_print / 2)
speed_wall_0 = =10 if speed_wall < 11 else (speed_print / 5 *3)
speed_topbottom = =round(speed_print / 5 * 4)
speed_slowdown_layers = 1
speed_travel = =round(speed_print if magic_spiralize else 150)
speed_travel_layer_0 = =speed_travel
speed_support_interface = =speed_topbottom
retraction_hop_enabled = True
retraction_hop = 1
cool_min_layer_time_fan_speed_max = =cool_min_layer_time
cool_min_layer_time = 20
skirt_brim_minimal_length = 50
coasting_enable = True
coasting_volume = 0.1
coasting_min_volume = 0.17
coasting_speed = 90

View file

@ -0,0 +1,56 @@
[general]
version = 2
name = High Quality
definition = cartesio
[metadata]
type = quality
quality_type = high
material = generic_abs_cartesio_0.8_mm
weight = 1
[values]
infill_line_width = 0.9
wall_thickness = 2.4
top_bottom_thickness = 0.8
wall_0_inset = -0.05
fill_perimeter_gaps = nowhere
travel_compensate_overlapping_walls_enabled =
infill_sparse_density = 40
infill_pattern = grid
material_print_temperature_layer_0 = =material_print_temperature + 5
material_initial_print_temperature = =material_print_temperature
material_final_print_temperature = =material_print_temperature
material_diameter = 1.75
retraction_min_travel = =round(line_width * 10)
retraction_prime_speed = 10
switch_extruder_retraction_amount = 2
switch_extruder_retraction_speeds = =retraction_speed
switch_extruder_prime_speed = =retraction_prime_speed
speed_print = 50
speed_infill = =speed_print
speed_layer_0 = =round(speed_print / 5 * 4)
speed_wall = =round(speed_print / 2)
speed_wall_0 = =10 if speed_wall < 11 else (speed_print / 5 *3)
speed_topbottom = =round(speed_print / 5 * 4)
speed_slowdown_layers = 1
speed_travel = =round(speed_print if magic_spiralize else 150)
speed_travel_layer_0 = =speed_travel
speed_support_interface = =speed_topbottom
retraction_hop_enabled = True
retraction_hop = 1
cool_min_layer_time_fan_speed_max = =cool_min_layer_time
cool_min_layer_time = 20
skirt_brim_minimal_length = 50
coasting_enable = True
coasting_volume = 0.1
coasting_min_volume = 0.17
coasting_speed = 90

View file

@ -0,0 +1,56 @@
[general]
version = 2
name = Normal Quality
definition = cartesio
[metadata]
type = quality
quality_type = normal
material = generic_abs_cartesio_0.8_mm
weight = 2
[values]
infill_line_width = 0.9
wall_thickness = 2.4
top_bottom_thickness = 0.8
wall_0_inset = -0.05
fill_perimeter_gaps = nowhere
travel_compensate_overlapping_walls_enabled =
infill_sparse_density = 40
infill_pattern = grid
material_print_temperature_layer_0 = =material_print_temperature + 5
material_initial_print_temperature = =material_print_temperature
material_final_print_temperature = =material_print_temperature
material_diameter = 1.75
retraction_min_travel = =round(line_width * 10)
retraction_prime_speed = 10
switch_extruder_retraction_amount = 2
switch_extruder_retraction_speeds = =retraction_speed
switch_extruder_prime_speed = =retraction_prime_speed
speed_print = 50
speed_infill = =speed_print
speed_layer_0 = =round(speed_print / 5 * 4)
speed_wall = =round(speed_print / 2)
speed_wall_0 = =10 if speed_wall < 11 else (speed_print / 5 *3)
speed_topbottom = =round(speed_print / 5 * 4)
speed_slowdown_layers = 1
speed_travel = =round(speed_print if magic_spiralize else 150)
speed_travel_layer_0 = =speed_travel
speed_support_interface = =speed_topbottom
retraction_hop_enabled = True
retraction_hop = 1
cool_min_layer_time_fan_speed_max = =cool_min_layer_time
cool_min_layer_time = 20
skirt_brim_minimal_length = 50
coasting_enable = True
coasting_volume = 0.1
coasting_min_volume = 0.17
coasting_speed = 90

View file

@ -0,0 +1,25 @@
[general]
version = 2
name = Coarse Quality
definition = cartesio
[metadata]
type = quality
quality_type = coarse
global_quality = True
weight = 0
[values]
layer_height = 0.4
speed_slowdown_layers = 1
retraction_combing = off
support_z_distance = 0
support_xy_distance = 0.5
support_join_distance = 10
support_interface_enable = True
adhesion_type = skirt
skirt_gap = 0.5

View file

@ -0,0 +1,25 @@
[general]
version = 2
name = Extra Coarse Quality
definition = cartesio
[metadata]
type = quality
quality_type = extra coarse
global_quality = True
weight = 0
[values]
layer_height = 0.6
speed_slowdown_layers = 1
retraction_combing = off
support_z_distance = 0
support_xy_distance = 0.5
support_join_distance = 10
support_interface_enable = True
adhesion_type = skirt
skirt_gap = 0.5

View file

@ -0,0 +1,25 @@
[general]
version = 2
name = High Quality
definition = cartesio
[metadata]
type = quality
quality_type = high
global_quality = True
weight = 0
[values]
layer_height = 0.1
speed_slowdown_layers = 1
retraction_combing = off
support_z_distance = 0
support_xy_distance = 0.5
support_join_distance = 10
support_interface_enable = True
adhesion_type = skirt
skirt_gap = 0.5

View file

@ -0,0 +1,25 @@
[general]
version = 2
name = Normal Quality
definition = cartesio
[metadata]
type = quality
quality_type = normal
global_quality = True
weight = 0
[values]
layer_height = 0.2
speed_slowdown_layers = 1
retraction_combing = off
support_z_distance = 0
support_xy_distance = 0.5
support_join_distance = 10
support_interface_enable = True
adhesion_type = skirt
skirt_gap = 0.5

View file

@ -0,0 +1,56 @@
[general]
version = 2
name = High Quality
definition = cartesio
[metadata]
type = quality
quality_type = high
material = generic_hips_cartesio_0.25_mm
weight = 1
[values]
infill_line_width = 0.3
wall_thickness = 1
top_bottom_thickness = 0.8
wall_0_inset = -0.05
fill_perimeter_gaps = nowhere
travel_compensate_overlapping_walls_enabled =
infill_sparse_density = 40
infill_pattern = grid
material_print_temperature_layer_0 = =material_print_temperature + 5
material_initial_print_temperature = =material_print_temperature
material_final_print_temperature = =material_print_temperature
material_diameter = 1.75
retraction_min_travel = =round(line_width * 10)
retraction_prime_speed = 10
switch_extruder_retraction_amount = 2
switch_extruder_retraction_speeds = =retraction_speed
switch_extruder_prime_speed = =retraction_prime_speed
speed_print = 50
speed_infill = =speed_print
speed_layer_0 = =round(speed_print / 5 * 4)
speed_wall = =round(speed_print / 2)
speed_wall_0 = =10 if speed_wall < 11 else (speed_print / 5 *3)
speed_topbottom = =round(speed_print / 5 * 4)
speed_slowdown_layers = 1
speed_travel = =round(speed_print if magic_spiralize else 150)
speed_travel_layer_0 = =speed_travel
speed_support_interface = =speed_topbottom
retraction_hop_enabled = True
retraction_hop = 1
cool_min_layer_time_fan_speed_max = =cool_min_layer_time
cool_min_layer_time = 20
skirt_brim_minimal_length = 50
coasting_enable = True
coasting_volume = 0.1
coasting_min_volume = 0.17
coasting_speed = 90

View file

@ -0,0 +1,56 @@
[general]
version = 2
name = Normal Quality
definition = cartesio
[metadata]
type = quality
quality_type = normal
material = generic_hips_cartesio_0.25_mm
weight = 2
[values]
infill_line_width = 0.3
wall_thickness = 1
top_bottom_thickness = 0.8
wall_0_inset = -0.05
fill_perimeter_gaps = nowhere
travel_compensate_overlapping_walls_enabled =
infill_sparse_density = 40
infill_pattern = grid
material_print_temperature_layer_0 = =material_print_temperature + 5
material_initial_print_temperature = =material_print_temperature
material_final_print_temperature = =material_print_temperature
material_diameter = 1.75
retraction_min_travel = =round(line_width * 10)
retraction_prime_speed = 10
switch_extruder_retraction_amount = 2
switch_extruder_retraction_speeds = =retraction_speed
switch_extruder_prime_speed = =retraction_prime_speed
speed_print = 50
speed_infill = =speed_print
speed_layer_0 = =round(speed_print / 5 * 4)
speed_wall = =round(speed_print / 2)
speed_wall_0 = =10 if speed_wall < 11 else (speed_print / 5 *3)
speed_topbottom = =round(speed_print / 5 * 4)
speed_slowdown_layers = 1
speed_travel = =round(speed_print if magic_spiralize else 150)
speed_travel_layer_0 = =speed_travel
speed_support_interface = =speed_topbottom
retraction_hop_enabled = True
retraction_hop = 1
cool_min_layer_time_fan_speed_max = =cool_min_layer_time
cool_min_layer_time = 20
skirt_brim_minimal_length = 50
coasting_enable = True
coasting_volume = 0.1
coasting_min_volume = 0.17
coasting_speed = 90

View file

@ -0,0 +1,56 @@
[general]
version = 2
name = High Quality
definition = cartesio
[metadata]
type = quality
quality_type = high
material = generic_hips_cartesio_0.4_mm
weight = 1
[values]
infill_line_width = 0.5
wall_thickness = 1.2
top_bottom_thickness = 0.8
wall_0_inset = -0.05
fill_perimeter_gaps = nowhere
travel_compensate_overlapping_walls_enabled =
infill_sparse_density = 40
infill_pattern = grid
material_print_temperature_layer_0 = =material_print_temperature + 5
material_initial_print_temperature = =material_print_temperature
material_final_print_temperature = =material_print_temperature
material_diameter = 1.75
retraction_min_travel = =round(line_width * 10)
retraction_prime_speed = 10
switch_extruder_retraction_amount = 2
switch_extruder_retraction_speeds = =retraction_speed
switch_extruder_prime_speed = =retraction_prime_speed
speed_print = 50
speed_infill = =speed_print
speed_layer_0 = =round(speed_print / 5 * 4)
speed_wall = =round(speed_print / 2)
speed_wall_0 = =10 if speed_wall < 11 else (speed_print / 5 *3)
speed_topbottom = =round(speed_print / 5 * 4)
speed_slowdown_layers = 1
speed_travel = =round(speed_print if magic_spiralize else 150)
speed_travel_layer_0 = =speed_travel
speed_support_interface = =speed_topbottom
retraction_hop_enabled = True
retraction_hop = 1
cool_min_layer_time_fan_speed_max = =cool_min_layer_time
cool_min_layer_time = 20
skirt_brim_minimal_length = 50
coasting_enable = True
coasting_volume = 0.1
coasting_min_volume = 0.17
coasting_speed = 90

View file

@ -0,0 +1,56 @@
[general]
version = 2
name = Normal Quality
definition = cartesio
[metadata]
type = quality
quality_type = normal
material = generic_hips_cartesio_0.4_mm
weight = 2
[values]
infill_line_width = 0.5
wall_thickness = 1.2
top_bottom_thickness = 0.8
wall_0_inset = -0.05
fill_perimeter_gaps = nowhere
travel_compensate_overlapping_walls_enabled =
infill_sparse_density = 40
infill_pattern = grid
material_print_temperature_layer_0 = =material_print_temperature + 5
material_initial_print_temperature = =material_print_temperature
material_final_print_temperature = =material_print_temperature
material_diameter = 1.75
retraction_min_travel = =round(line_width * 10)
retraction_prime_speed = 10
switch_extruder_retraction_amount = 2
switch_extruder_retraction_speeds = =retraction_speed
switch_extruder_prime_speed = =retraction_prime_speed
speed_print = 50
speed_infill = =speed_print
speed_layer_0 = =round(speed_print / 5 * 4)
speed_wall = =round(speed_print / 2)
speed_wall_0 = =10 if speed_wall < 11 else (speed_print / 5 *3)
speed_topbottom = =round(speed_print / 5 * 4)
speed_slowdown_layers = 1
speed_travel = =round(speed_print if magic_spiralize else 150)
speed_travel_layer_0 = =speed_travel
speed_support_interface = =speed_topbottom
retraction_hop_enabled = True
retraction_hop = 1
cool_min_layer_time_fan_speed_max = =cool_min_layer_time
cool_min_layer_time = 20
skirt_brim_minimal_length = 50
coasting_enable = True
coasting_volume = 0.1
coasting_min_volume = 0.17
coasting_speed = 90

View file

@ -0,0 +1,56 @@
[general]
version = 2
name = Coarse Quality
definition = cartesio
[metadata]
type = quality
quality_type = coarse
material = generic_hips_cartesio_0.8_mm
weight = 3
[values]
infill_line_width = 0.9
wall_thickness = 2.4
top_bottom_thickness = =layer_height * 3
wall_0_inset = -0.05
fill_perimeter_gaps = nowhere
travel_compensate_overlapping_walls_enabled =
infill_sparse_density = 40
infill_pattern = grid
material_print_temperature_layer_0 = =material_print_temperature + 5
material_initial_print_temperature = =material_print_temperature
material_final_print_temperature = =material_print_temperature
material_diameter = 1.75
retraction_min_travel = =round(line_width * 10)
retraction_prime_speed = 10
switch_extruder_retraction_amount = 2
switch_extruder_retraction_speeds = =retraction_speed
switch_extruder_prime_speed = =retraction_prime_speed
speed_print = 30
speed_infill = =speed_print
speed_layer_0 = =round(speed_print / 5 * 4)
speed_wall = =round(speed_print / 2)
speed_wall_0 = =10 if speed_wall < 11 else (speed_print / 5 *3)
speed_topbottom = =round(speed_print / 5 * 4)
speed_slowdown_layers = 1
speed_travel = =round(speed_print if magic_spiralize else 150)
speed_travel_layer_0 = =speed_travel
speed_support_interface = =speed_topbottom
retraction_hop_enabled = True
retraction_hop = 1
cool_min_layer_time_fan_speed_max = =cool_min_layer_time
cool_min_layer_time = 20
skirt_brim_minimal_length = 50
coasting_enable = True
coasting_volume = 0.1
coasting_min_volume = 0.17
coasting_speed = 90

View file

@ -0,0 +1,56 @@
[general]
version = 2
name = Extra Coarse Quality
definition = cartesio
[metadata]
type = quality
quality_type = extra coarse
material = generic_hips_cartesio_0.8_mm
weight = 4
[values]
infill_line_width = 0.9
wall_thickness = 2.4
top_bottom_thickness = =layer_height * 3
wall_0_inset = -0.05
fill_perimeter_gaps = nowhere
travel_compensate_overlapping_walls_enabled =
infill_sparse_density = 40
infill_pattern = grid
material_print_temperature_layer_0 = =material_print_temperature + 5
material_initial_print_temperature = =material_print_temperature
material_final_print_temperature = =material_print_temperature
material_diameter = 1.75
retraction_min_travel = =round(line_width * 10)
retraction_prime_speed = 10
switch_extruder_retraction_amount = 2
switch_extruder_retraction_speeds = =retraction_speed
switch_extruder_prime_speed = =retraction_prime_speed
speed_print = 25
speed_infill = =speed_print
speed_layer_0 = =round(speed_print / 5 * 4)
speed_wall = =round(speed_print / 2)
speed_wall_0 = =10 if speed_wall < 11 else (speed_print / 5 *3)
speed_topbottom = =round(speed_print / 5 * 4)
speed_slowdown_layers = 1
speed_travel = =round(speed_print if magic_spiralize else 150)
speed_travel_layer_0 = =speed_travel
speed_support_interface = =speed_topbottom
retraction_hop_enabled = True
retraction_hop = 1
cool_min_layer_time_fan_speed_max = =cool_min_layer_time
cool_min_layer_time = 20
skirt_brim_minimal_length = 50
coasting_enable = True
coasting_volume = 0.1
coasting_min_volume = 0.17
coasting_speed = 90

View file

@ -0,0 +1,56 @@
[general]
version = 2
name = High Quality
definition = cartesio
[metadata]
type = quality
quality_type = high
material = generic_hips_cartesio_0.8_mm
weight = 1
[values]
infill_line_width = 0.9
wall_thickness = 2.4
top_bottom_thickness = 0.8
wall_0_inset = -0.05
fill_perimeter_gaps = nowhere
travel_compensate_overlapping_walls_enabled =
infill_sparse_density = 40
infill_pattern = grid
material_print_temperature_layer_0 = =material_print_temperature + 5
material_initial_print_temperature = =material_print_temperature
material_final_print_temperature = =material_print_temperature
material_diameter = 1.75
retraction_min_travel = =round(line_width * 10)
retraction_prime_speed = 10
switch_extruder_retraction_amount = 2
switch_extruder_retraction_speeds = =retraction_speed
switch_extruder_prime_speed = =retraction_prime_speed
speed_print = 50
speed_infill = =speed_print
speed_layer_0 = =round(speed_print / 5 * 4)
speed_wall = =round(speed_print / 2)
speed_wall_0 = =10 if speed_wall < 11 else (speed_print / 5 *3)
speed_topbottom = =round(speed_print / 5 * 4)
speed_slowdown_layers = 1
speed_travel = =round(speed_print if magic_spiralize else 150)
speed_travel_layer_0 = =speed_travel
speed_support_interface = =speed_topbottom
retraction_hop_enabled = True
retraction_hop = 1
cool_min_layer_time_fan_speed_max = =cool_min_layer_time
cool_min_layer_time = 20
skirt_brim_minimal_length = 50
coasting_enable = True
coasting_volume = 0.1
coasting_min_volume = 0.17
coasting_speed = 90

View file

@ -0,0 +1,56 @@
[general]
version = 2
name = Normal Quality
definition = cartesio
[metadata]
type = quality
quality_type = normal
material = generic_hips_cartesio_0.8_mm
weight = 2
[values]
infill_line_width = 0.9
wall_thickness = 2.4
top_bottom_thickness = 0.8
wall_0_inset = -0.05
fill_perimeter_gaps = nowhere
travel_compensate_overlapping_walls_enabled =
infill_sparse_density = 40
infill_pattern = grid
material_print_temperature_layer_0 = =material_print_temperature + 5
material_initial_print_temperature = =material_print_temperature
material_final_print_temperature = =material_print_temperature
material_diameter = 1.75
retraction_min_travel = =round(line_width * 10)
retraction_prime_speed = 10
switch_extruder_retraction_amount = 2
switch_extruder_retraction_speeds = =retraction_speed
switch_extruder_prime_speed = =retraction_prime_speed
speed_print = 50
speed_infill = =speed_print
speed_layer_0 = =round(speed_print / 5 * 4)
speed_wall = =round(speed_print / 2)
speed_wall_0 = =10 if speed_wall < 11 else (speed_print / 5 *3)
speed_topbottom = =round(speed_print / 5 * 4)
speed_slowdown_layers = 1
speed_travel = =round(speed_print if magic_spiralize else 150)
speed_travel_layer_0 = =speed_travel
speed_support_interface = =speed_topbottom
retraction_hop_enabled = True
retraction_hop = 1
cool_min_layer_time_fan_speed_max = =cool_min_layer_time
cool_min_layer_time = 20
skirt_brim_minimal_length = 50
coasting_enable = True
coasting_volume = 0.1
coasting_min_volume = 0.17
coasting_speed = 90

View file

@ -0,0 +1,56 @@
[general]
version = 2
name = High Quality
definition = cartesio
[metadata]
type = quality
quality_type = high
material = generic_nylon_cartesio_0.25_mm
weight = 1
[values]
infill_line_width = 0.3
wall_thickness = 1
top_bottom_thickness = 0.8
wall_0_inset = -0.05
fill_perimeter_gaps = nowhere
travel_compensate_overlapping_walls_enabled =
infill_sparse_density = 40
infill_pattern = grid
material_print_temperature_layer_0 = =material_print_temperature + 5
material_initial_print_temperature = =material_print_temperature
material_final_print_temperature = =material_print_temperature
material_diameter = 1.75
retraction_min_travel = =round(line_width * 10)
retraction_prime_speed = 10
switch_extruder_retraction_amount = 2
switch_extruder_retraction_speeds = =retraction_speed
switch_extruder_prime_speed = =retraction_prime_speed
speed_print = 50
speed_infill = =speed_print
speed_layer_0 = =round(speed_print / 5 * 4)
speed_wall = =round(speed_print / 2)
speed_wall_0 = =10 if speed_wall < 11 else (speed_print / 5 *3)
speed_topbottom = =round(speed_print / 5 * 4)
speed_slowdown_layers = 1
speed_travel = =round(speed_print if magic_spiralize else 150)
speed_travel_layer_0 = =speed_travel
speed_support_interface = =speed_topbottom
retraction_hop_enabled = True
retraction_hop = 1
cool_min_layer_time_fan_speed_max = =cool_min_layer_time
cool_min_layer_time = 20
skirt_brim_minimal_length = 50
coasting_enable = True
coasting_volume = 0.1
coasting_min_volume = 0.17
coasting_speed = 90

View file

@ -0,0 +1,56 @@
[general]
version = 2
name = Normal Quality
definition = cartesio
[metadata]
type = quality
quality_type = normal
material = generic_nylon_cartesio_0.25_mm
weight = 2
[values]
infill_line_width = 0.3
wall_thickness = 1
top_bottom_thickness = 0.8
wall_0_inset = -0.05
fill_perimeter_gaps = nowhere
travel_compensate_overlapping_walls_enabled =
infill_sparse_density = 40
infill_pattern = grid
material_print_temperature_layer_0 = =material_print_temperature + 5
material_initial_print_temperature = =material_print_temperature
material_final_print_temperature = =material_print_temperature
material_diameter = 1.75
retraction_min_travel = =round(line_width * 10)
retraction_prime_speed = 10
switch_extruder_retraction_amount = 2
switch_extruder_retraction_speeds = =retraction_speed
switch_extruder_prime_speed = =retraction_prime_speed
speed_print = 50
speed_infill = =speed_print
speed_layer_0 = =round(speed_print / 5 * 4)
speed_wall = =round(speed_print / 2)
speed_wall_0 = =10 if speed_wall < 11 else (speed_print / 5 *3)
speed_topbottom = =round(speed_print / 5 * 4)
speed_slowdown_layers = 1
speed_travel = =round(speed_print if magic_spiralize else 150)
speed_travel_layer_0 = =speed_travel
speed_support_interface = =speed_topbottom
retraction_hop_enabled = True
retraction_hop = 1
cool_min_layer_time_fan_speed_max = =cool_min_layer_time
cool_min_layer_time = 20
skirt_brim_minimal_length = 50
coasting_enable = True
coasting_volume = 0.1
coasting_min_volume = 0.17
coasting_speed = 90

View file

@ -0,0 +1,56 @@
[general]
version = 2
name = High Quality
definition = cartesio
[metadata]
type = quality
quality_type = high
material = generic_nylon_cartesio_0.4_mm
weight = 1
[values]
infill_line_width = 0.5
wall_thickness = 1.2
top_bottom_thickness = 0.8
wall_0_inset = -0.05
fill_perimeter_gaps = nowhere
travel_compensate_overlapping_walls_enabled =
infill_sparse_density = 40
infill_pattern = grid
material_print_temperature_layer_0 = =material_print_temperature + 5
material_initial_print_temperature = =material_print_temperature
material_final_print_temperature = =material_print_temperature
material_diameter = 1.75
retraction_min_travel = =round(line_width * 10)
retraction_prime_speed = 10
switch_extruder_retraction_amount = 2
switch_extruder_retraction_speeds = =retraction_speed
switch_extruder_prime_speed = =retraction_prime_speed
speed_print = 50
speed_infill = =speed_print
speed_layer_0 = =round(speed_print / 5 * 4)
speed_wall = =round(speed_print / 2)
speed_wall_0 = =10 if speed_wall < 11 else (speed_print / 5 *3)
speed_topbottom = =round(speed_print / 5 * 4)
speed_slowdown_layers = 1
speed_travel = =round(speed_print if magic_spiralize else 150)
speed_travel_layer_0 = =speed_travel
speed_support_interface = =speed_topbottom
retraction_hop_enabled = True
retraction_hop = 1
cool_min_layer_time_fan_speed_max = =cool_min_layer_time
cool_min_layer_time = 20
skirt_brim_minimal_length = 50
coasting_enable = True
coasting_volume = 0.1
coasting_min_volume = 0.17
coasting_speed = 90

View file

@ -0,0 +1,56 @@
[general]
version = 2
name = Normal Quality
definition = cartesio
[metadata]
type = quality
quality_type = normal
material = generic_nylon_cartesio_0.4_mm
weight = 2
[values]
infill_line_width = 0.5
wall_thickness = 1.2
top_bottom_thickness = 0.8
wall_0_inset = -0.05
fill_perimeter_gaps = nowhere
travel_compensate_overlapping_walls_enabled =
infill_sparse_density = 40
infill_pattern = grid
material_print_temperature_layer_0 = =material_print_temperature + 5
material_initial_print_temperature = =material_print_temperature
material_final_print_temperature = =material_print_temperature
material_diameter = 1.75
retraction_min_travel = =round(line_width * 10)
retraction_prime_speed = 10
switch_extruder_retraction_amount = 2
switch_extruder_retraction_speeds = =retraction_speed
switch_extruder_prime_speed = =retraction_prime_speed
speed_print = 50
speed_infill = =speed_print
speed_layer_0 = =round(speed_print / 5 * 4)
speed_wall = =round(speed_print / 2)
speed_wall_0 = =10 if speed_wall < 11 else (speed_print / 5 *3)
speed_topbottom = =round(speed_print / 5 * 4)
speed_slowdown_layers = 1
speed_travel = =round(speed_print if magic_spiralize else 150)
speed_travel_layer_0 = =speed_travel
speed_support_interface = =speed_topbottom
retraction_hop_enabled = True
retraction_hop = 1
cool_min_layer_time_fan_speed_max = =cool_min_layer_time
cool_min_layer_time = 20
skirt_brim_minimal_length = 50
coasting_enable = True
coasting_volume = 0.1
coasting_min_volume = 0.17
coasting_speed = 90

View file

@ -0,0 +1,56 @@
[general]
version = 2
name = Coarse Quality
definition = cartesio
[metadata]
type = quality
quality_type = coarse
material = generic_nylon_cartesio_0.8_mm
weight = 3
[values]
infill_line_width = 0.9
wall_thickness = 2.4
top_bottom_thickness = =layer_height * 3
wall_0_inset = -0.05
fill_perimeter_gaps = nowhere
travel_compensate_overlapping_walls_enabled =
infill_sparse_density = 40
infill_pattern = grid
material_print_temperature_layer_0 = =material_print_temperature + 5
material_initial_print_temperature = =material_print_temperature
material_final_print_temperature = =material_print_temperature
material_diameter = 1.75
retraction_min_travel = =round(line_width * 10)
retraction_prime_speed = 10
switch_extruder_retraction_amount = 2
switch_extruder_retraction_speeds = =retraction_speed
switch_extruder_prime_speed = =retraction_prime_speed
speed_print = 30
speed_infill = =speed_print
speed_layer_0 = =round(speed_print / 5 * 4)
speed_wall = =round(speed_print / 2)
speed_wall_0 = =10 if speed_wall < 11 else (speed_print / 5 *3)
speed_topbottom = =round(speed_print / 5 * 4)
speed_slowdown_layers = 1
speed_travel = =round(speed_print if magic_spiralize else 150)
speed_travel_layer_0 = =speed_travel
speed_support_interface = =speed_topbottom
retraction_hop_enabled = True
retraction_hop = 1
cool_min_layer_time_fan_speed_max = =cool_min_layer_time
cool_min_layer_time = 20
skirt_brim_minimal_length = 50
coasting_enable = True
coasting_volume = 0.1
coasting_min_volume = 0.17
coasting_speed = 90

View file

@ -0,0 +1,56 @@
[general]
version = 2
name = Extra Coarse Quality
definition = cartesio
[metadata]
type = quality
quality_type = extra coarse
material = generic_nylon_cartesio_0.8_mm
weight = 4
[values]
infill_line_width = 0.9
wall_thickness = 2.4
top_bottom_thickness = =layer_height * 3
wall_0_inset = -0.05
fill_perimeter_gaps = nowhere
travel_compensate_overlapping_walls_enabled =
infill_sparse_density = 40
infill_pattern = grid
material_print_temperature_layer_0 = =material_print_temperature + 5
material_initial_print_temperature = =material_print_temperature
material_final_print_temperature = =material_print_temperature
material_diameter = 1.75
retraction_min_travel = =round(line_width * 10)
retraction_prime_speed = 10
switch_extruder_retraction_amount = 2
switch_extruder_retraction_speeds = =retraction_speed
switch_extruder_prime_speed = =retraction_prime_speed
speed_print = 25
speed_infill = =speed_print
speed_layer_0 = =round(speed_print / 5 * 4)
speed_wall = =round(speed_print / 2)
speed_wall_0 = =10 if speed_wall < 11 else (speed_print / 5 *3)
speed_topbottom = =round(speed_print / 5 * 4)
speed_slowdown_layers = 1
speed_travel = =round(speed_print if magic_spiralize else 150)
speed_travel_layer_0 = =speed_travel
speed_support_interface = =speed_topbottom
retraction_hop_enabled = True
retraction_hop = 1
cool_min_layer_time_fan_speed_max = =cool_min_layer_time
cool_min_layer_time = 20
skirt_brim_minimal_length = 50
coasting_enable = True
coasting_volume = 0.1
coasting_min_volume = 0.17
coasting_speed = 90

View file

@ -0,0 +1,56 @@
[general]
version = 2
name = High Quality
definition = cartesio
[metadata]
type = quality
quality_type = high
material = generic_nylon_cartesio_0.8_mm
weight = 1
[values]
infill_line_width = 0.9
wall_thickness = 2.4
top_bottom_thickness = 0.8
wall_0_inset = -0.05
fill_perimeter_gaps = nowhere
travel_compensate_overlapping_walls_enabled =
infill_sparse_density = 40
infill_pattern = grid
material_print_temperature_layer_0 = =material_print_temperature + 5
material_initial_print_temperature = =material_print_temperature
material_final_print_temperature = =material_print_temperature
material_diameter = 1.75
retraction_min_travel = =round(line_width * 10)
retraction_prime_speed = 10
switch_extruder_retraction_amount = 2
switch_extruder_retraction_speeds = =retraction_speed
switch_extruder_prime_speed = =retraction_prime_speed
speed_print = 50
speed_infill = =speed_print
speed_layer_0 = =round(speed_print / 5 * 4)
speed_wall = =round(speed_print / 2)
speed_wall_0 = =10 if speed_wall < 11 else (speed_print / 5 *3)
speed_topbottom = =round(speed_print / 5 * 4)
speed_slowdown_layers = 1
speed_travel = =round(speed_print if magic_spiralize else 150)
speed_travel_layer_0 = =speed_travel
speed_support_interface = =speed_topbottom
retraction_hop_enabled = True
retraction_hop = 1
cool_min_layer_time_fan_speed_max = =cool_min_layer_time
cool_min_layer_time = 20
skirt_brim_minimal_length = 50
coasting_enable = True
coasting_volume = 0.1
coasting_min_volume = 0.17
coasting_speed = 90

View file

@ -0,0 +1,56 @@
[general]
version = 2
name = Normal Quality
definition = cartesio
[metadata]
type = quality
quality_type = normal
material = generic_nylon_cartesio_0.8_mm
weight = 2
[values]
infill_line_width = 0.9
wall_thickness = 2.4
top_bottom_thickness = 0.8
wall_0_inset = -0.05
fill_perimeter_gaps = nowhere
travel_compensate_overlapping_walls_enabled =
infill_sparse_density = 40
infill_pattern = grid
material_print_temperature_layer_0 = =material_print_temperature + 5
material_initial_print_temperature = =material_print_temperature
material_final_print_temperature = =material_print_temperature
material_diameter = 1.75
retraction_min_travel = =round(line_width * 10)
retraction_prime_speed = 10
switch_extruder_retraction_amount = 2
switch_extruder_retraction_speeds = =retraction_speed
switch_extruder_prime_speed = =retraction_prime_speed
speed_print = 50
speed_infill = =speed_print
speed_layer_0 = =round(speed_print / 5 * 4)
speed_wall = =round(speed_print / 2)
speed_wall_0 = =10 if speed_wall < 11 else (speed_print / 5 *3)
speed_topbottom = =round(speed_print / 5 * 4)
speed_slowdown_layers = 1
speed_travel = =round(speed_print if magic_spiralize else 150)
speed_travel_layer_0 = =speed_travel
speed_support_interface = =speed_topbottom
retraction_hop_enabled = True
retraction_hop = 1
cool_min_layer_time_fan_speed_max = =cool_min_layer_time
cool_min_layer_time = 20
skirt_brim_minimal_length = 50
coasting_enable = True
coasting_volume = 0.1
coasting_min_volume = 0.17
coasting_speed = 90

View file

@ -0,0 +1,56 @@
[general]
version = 2
name = High Quality
definition = cartesio
[metadata]
type = quality
quality_type = high
material = generic_pc_cartesio_0.25_mm
weight = 1
[values]
infill_line_width = 0.3
wall_thickness = 1
top_bottom_thickness = 0.8
wall_0_inset = -0.05
fill_perimeter_gaps = nowhere
travel_compensate_overlapping_walls_enabled =
infill_sparse_density = 40
infill_pattern = grid
material_print_temperature_layer_0 = =material_print_temperature + 5
material_initial_print_temperature = =material_print_temperature
material_final_print_temperature = =material_print_temperature
material_diameter = 1.75
retraction_min_travel = =round(line_width * 10)
retraction_prime_speed = 10
switch_extruder_retraction_amount = 2
switch_extruder_retraction_speeds = =retraction_speed
switch_extruder_prime_speed = =retraction_prime_speed
speed_print = 50
speed_infill = =speed_print
speed_layer_0 = =round(speed_print / 5 * 4)
speed_wall = =round(speed_print / 2)
speed_wall_0 = =10 if speed_wall < 11 else (speed_print / 5 *3)
speed_topbottom = =round(speed_print / 5 * 4)
speed_slowdown_layers = 1
speed_travel = =round(speed_print if magic_spiralize else 150)
speed_travel_layer_0 = =speed_travel
speed_support_interface = =speed_topbottom
retraction_hop_enabled = True
retraction_hop = 1
cool_min_layer_time_fan_speed_max = =cool_min_layer_time
cool_min_layer_time = 20
skirt_brim_minimal_length = 50
coasting_enable = True
coasting_volume = 0.1
coasting_min_volume = 0.17
coasting_speed = 90

View file

@ -0,0 +1,56 @@
[general]
version = 2
name = Normal Quality
definition = cartesio
[metadata]
type = quality
quality_type = normal
material = generic_pc_cartesio_0.25_mm
weight = 2
[values]
infill_line_width = 0.3
wall_thickness = 1
top_bottom_thickness = 0.8
wall_0_inset = -0.05
fill_perimeter_gaps = nowhere
travel_compensate_overlapping_walls_enabled =
infill_sparse_density = 40
infill_pattern = grid
material_print_temperature_layer_0 = =material_print_temperature + 5
material_initial_print_temperature = =material_print_temperature
material_final_print_temperature = =material_print_temperature
material_diameter = 1.75
retraction_min_travel = =round(line_width * 10)
retraction_prime_speed = 10
switch_extruder_retraction_amount = 2
switch_extruder_retraction_speeds = =retraction_speed
switch_extruder_prime_speed = =retraction_prime_speed
speed_print = 50
speed_infill = =speed_print
speed_layer_0 = =round(speed_print / 5 * 4)
speed_wall = =round(speed_print / 2)
speed_wall_0 = =10 if speed_wall < 11 else (speed_print / 5 *3)
speed_topbottom = =round(speed_print / 5 * 4)
speed_slowdown_layers = 1
speed_travel = =round(speed_print if magic_spiralize else 150)
speed_travel_layer_0 = =speed_travel
speed_support_interface = =speed_topbottom
retraction_hop_enabled = True
retraction_hop = 1
cool_min_layer_time_fan_speed_max = =cool_min_layer_time
cool_min_layer_time = 20
skirt_brim_minimal_length = 50
coasting_enable = True
coasting_volume = 0.1
coasting_min_volume = 0.17
coasting_speed = 90

View file

@ -0,0 +1,56 @@
[general]
version = 2
name = High Quality
definition = cartesio
[metadata]
type = quality
quality_type = high
material = generic_pc_cartesio_0.4_mm
weight = 1
[values]
infill_line_width = 0.5
wall_thickness = 1.2
top_bottom_thickness = 0.8
wall_0_inset = -0.05
fill_perimeter_gaps = nowhere
travel_compensate_overlapping_walls_enabled =
infill_sparse_density = 40
infill_pattern = grid
material_print_temperature_layer_0 = =material_print_temperature + 5
material_initial_print_temperature = =material_print_temperature
material_final_print_temperature = =material_print_temperature
material_diameter = 1.75
retraction_min_travel = =round(line_width * 10)
retraction_prime_speed = 10
switch_extruder_retraction_amount = 2
switch_extruder_retraction_speeds = =retraction_speed
switch_extruder_prime_speed = =retraction_prime_speed
speed_print = 50
speed_infill = =speed_print
speed_layer_0 = =round(speed_print / 5 * 4)
speed_wall = =round(speed_print / 2)
speed_wall_0 = =10 if speed_wall < 11 else (speed_print / 5 *3)
speed_topbottom = =round(speed_print / 5 * 4)
speed_slowdown_layers = 1
speed_travel = =round(speed_print if magic_spiralize else 150)
speed_travel_layer_0 = =speed_travel
speed_support_interface = =speed_topbottom
retraction_hop_enabled = True
retraction_hop = 1
cool_min_layer_time_fan_speed_max = =cool_min_layer_time
cool_min_layer_time = 20
skirt_brim_minimal_length = 50
coasting_enable = True
coasting_volume = 0.1
coasting_min_volume = 0.17
coasting_speed = 90

View file

@ -0,0 +1,56 @@
[general]
version = 2
name = Normal Quality
definition = cartesio
[metadata]
type = quality
quality_type = normal
material = generic_pc_cartesio_0.4_mm
weight = 2
[values]
infill_line_width = 0.5
wall_thickness = 1.2
top_bottom_thickness = 0.8
wall_0_inset = -0.05
fill_perimeter_gaps = nowhere
travel_compensate_overlapping_walls_enabled =
infill_sparse_density = 40
infill_pattern = grid
material_print_temperature_layer_0 = =material_print_temperature + 5
material_initial_print_temperature = =material_print_temperature
material_final_print_temperature = =material_print_temperature
material_diameter = 1.75
retraction_min_travel = =round(line_width * 10)
retraction_prime_speed = 10
switch_extruder_retraction_amount = 2
switch_extruder_retraction_speeds = =retraction_speed
switch_extruder_prime_speed = =retraction_prime_speed
speed_print = 50
speed_infill = =speed_print
speed_layer_0 = =round(speed_print / 5 * 4)
speed_wall = =round(speed_print / 2)
speed_wall_0 = =10 if speed_wall < 11 else (speed_print / 5 *3)
speed_topbottom = =round(speed_print / 5 * 4)
speed_slowdown_layers = 1
speed_travel = =round(speed_print if magic_spiralize else 150)
speed_travel_layer_0 = =speed_travel
speed_support_interface = =speed_topbottom
retraction_hop_enabled = True
retraction_hop = 1
cool_min_layer_time_fan_speed_max = =cool_min_layer_time
cool_min_layer_time = 20
skirt_brim_minimal_length = 50
coasting_enable = True
coasting_volume = 0.1
coasting_min_volume = 0.17
coasting_speed = 90

View file

@ -0,0 +1,56 @@
[general]
version = 2
name = Coarse Quality
definition = cartesio
[metadata]
type = quality
quality_type = coarse
material = generic_pc_cartesio_0.8_mm
weight = 3
[values]
infill_line_width = 0.9
wall_thickness = 2.4
top_bottom_thickness = =layer_height * 3
wall_0_inset = -0.05
fill_perimeter_gaps = nowhere
travel_compensate_overlapping_walls_enabled =
infill_sparse_density = 40
infill_pattern = grid
material_print_temperature_layer_0 = =material_print_temperature + 5
material_initial_print_temperature = =material_print_temperature
material_final_print_temperature = =material_print_temperature
material_diameter = 1.75
retraction_min_travel = =round(line_width * 10)
retraction_prime_speed = 10
switch_extruder_retraction_amount = 2
switch_extruder_retraction_speeds = =retraction_speed
switch_extruder_prime_speed = =retraction_prime_speed
speed_print = 30
speed_infill = =speed_print
speed_layer_0 = =round(speed_print / 5 * 4)
speed_wall = =round(speed_print / 2)
speed_wall_0 = =10 if speed_wall < 11 else (speed_print / 5 *3)
speed_topbottom = =round(speed_print / 5 * 4)
speed_slowdown_layers = 1
speed_travel = =round(speed_print if magic_spiralize else 150)
speed_travel_layer_0 = =speed_travel
speed_support_interface = =speed_topbottom
retraction_hop_enabled = True
retraction_hop = 1
cool_min_layer_time_fan_speed_max = =cool_min_layer_time
cool_min_layer_time = 20
skirt_brim_minimal_length = 50
coasting_enable = True
coasting_volume = 0.1
coasting_min_volume = 0.17
coasting_speed = 90

View file

@ -0,0 +1,56 @@
[general]
version = 2
name = Extra Coarse Quality
definition = cartesio
[metadata]
type = quality
quality_type = extra coarse
material = generic_pc_cartesio_0.8_mm
weight = 4
[values]
infill_line_width = 0.9
wall_thickness = 2.4
top_bottom_thickness = =layer_height * 3
wall_0_inset = -0.05
fill_perimeter_gaps = nowhere
travel_compensate_overlapping_walls_enabled =
infill_sparse_density = 40
infill_pattern = grid
material_print_temperature_layer_0 = =material_print_temperature + 5
material_initial_print_temperature = =material_print_temperature
material_final_print_temperature = =material_print_temperature
material_diameter = 1.75
retraction_min_travel = =round(line_width * 10)
retraction_prime_speed = 10
switch_extruder_retraction_amount = 2
switch_extruder_retraction_speeds = =retraction_speed
switch_extruder_prime_speed = =retraction_prime_speed
speed_print = 25
speed_infill = =speed_print
speed_layer_0 = =round(speed_print / 5 * 4)
speed_wall = =round(speed_print / 2)
speed_wall_0 = =10 if speed_wall < 11 else (speed_print / 5 *3)
speed_topbottom = =round(speed_print / 5 * 4)
speed_slowdown_layers = 1
speed_travel = =round(speed_print if magic_spiralize else 150)
speed_travel_layer_0 = =speed_travel
speed_support_interface = =speed_topbottom
retraction_hop_enabled = True
retraction_hop = 1
cool_min_layer_time_fan_speed_max = =cool_min_layer_time
cool_min_layer_time = 20
skirt_brim_minimal_length = 50
coasting_enable = True
coasting_volume = 0.1
coasting_min_volume = 0.17
coasting_speed = 90

View file

@ -0,0 +1,56 @@
[general]
version = 2
name = High Quality
definition = cartesio
[metadata]
type = quality
quality_type = high
material = generic_pc_cartesio_0.8_mm
weight = 1
[values]
infill_line_width = 0.9
wall_thickness = 2.4
top_bottom_thickness = 0.8
wall_0_inset = -0.05
fill_perimeter_gaps = nowhere
travel_compensate_overlapping_walls_enabled =
infill_sparse_density = 40
infill_pattern = grid
material_print_temperature_layer_0 = =material_print_temperature + 5
material_initial_print_temperature = =material_print_temperature
material_final_print_temperature = =material_print_temperature
material_diameter = 1.75
retraction_min_travel = =round(line_width * 10)
retraction_prime_speed = 10
switch_extruder_retraction_amount = 2
switch_extruder_retraction_speeds = =retraction_speed
switch_extruder_prime_speed = =retraction_prime_speed
speed_print = 50
speed_infill = =speed_print
speed_layer_0 = =round(speed_print / 5 * 4)
speed_wall = =round(speed_print / 2)
speed_wall_0 = =10 if speed_wall < 11 else (speed_print / 5 *3)
speed_topbottom = =round(speed_print / 5 * 4)
speed_slowdown_layers = 1
speed_travel = =round(speed_print if magic_spiralize else 150)
speed_travel_layer_0 = =speed_travel
speed_support_interface = =speed_topbottom
retraction_hop_enabled = True
retraction_hop = 1
cool_min_layer_time_fan_speed_max = =cool_min_layer_time
cool_min_layer_time = 20
skirt_brim_minimal_length = 50
coasting_enable = True
coasting_volume = 0.1
coasting_min_volume = 0.17
coasting_speed = 90

View file

@ -0,0 +1,56 @@
[general]
version = 2
name = Normal Quality
definition = cartesio
[metadata]
type = quality
quality_type = normal
material = generic_pc_cartesio_0.8_mm
weight = 2
[values]
infill_line_width = 0.9
wall_thickness = 2.4
top_bottom_thickness = 0.8
wall_0_inset = -0.05
fill_perimeter_gaps = nowhere
travel_compensate_overlapping_walls_enabled =
infill_sparse_density = 40
infill_pattern = grid
material_print_temperature_layer_0 = =material_print_temperature + 5
material_initial_print_temperature = =material_print_temperature
material_final_print_temperature = =material_print_temperature
material_diameter = 1.75
retraction_min_travel = =round(line_width * 10)
retraction_prime_speed = 10
switch_extruder_retraction_amount = 2
switch_extruder_retraction_speeds = =retraction_speed
switch_extruder_prime_speed = =retraction_prime_speed
speed_print = 50
speed_infill = =speed_print
speed_layer_0 = =round(speed_print / 5 * 4)
speed_wall = =round(speed_print / 2)
speed_wall_0 = =10 if speed_wall < 11 else (speed_print / 5 *3)
speed_topbottom = =round(speed_print / 5 * 4)
speed_slowdown_layers = 1
speed_travel = =round(speed_print if magic_spiralize else 150)
speed_travel_layer_0 = =speed_travel
speed_support_interface = =speed_topbottom
retraction_hop_enabled = True
retraction_hop = 1
cool_min_layer_time_fan_speed_max = =cool_min_layer_time
cool_min_layer_time = 20
skirt_brim_minimal_length = 50
coasting_enable = True
coasting_volume = 0.1
coasting_min_volume = 0.17
coasting_speed = 90

View file

@ -0,0 +1,56 @@
[general]
version = 2
name = High Quality
definition = cartesio
[metadata]
type = quality
quality_type = high
material = generic_petg_cartesio_0.25_mm
weight = 1
[values]
infill_line_width = 0.3
wall_thickness = 1
top_bottom_thickness = 0.8
wall_0_inset = -0.05
fill_perimeter_gaps = nowhere
travel_compensate_overlapping_walls_enabled =
infill_sparse_density = 40
infill_pattern = grid
material_print_temperature_layer_0 = =material_print_temperature + 5
material_initial_print_temperature = =material_print_temperature
material_final_print_temperature = =material_print_temperature
material_diameter = 1.75
retraction_min_travel = =round(line_width * 10)
retraction_prime_speed = 8
switch_extruder_retraction_amount = 2
switch_extruder_retraction_speeds = =retraction_speed
switch_extruder_prime_speed = =retraction_prime_speed
speed_print = 50
speed_infill = =speed_print
speed_layer_0 = =round(speed_print / 5 * 4)
speed_wall = =round(speed_print / 2)
speed_wall_0 = =10 if speed_wall < 11 else (speed_print / 5 *3)
speed_topbottom = =round(speed_print / 5 * 4)
speed_slowdown_layers = 1
speed_travel = =round(speed_print if magic_spiralize else 150)
speed_travel_layer_0 = =speed_travel
speed_support_interface = =speed_topbottom
retraction_hop_enabled = True
retraction_hop = 1
cool_min_layer_time_fan_speed_max = =cool_min_layer_time
cool_min_layer_time = 20
skirt_brim_minimal_length = 50
coasting_enable = True
coasting_volume = 0.1
coasting_min_volume = 0.17
coasting_speed = 90

View file

@ -0,0 +1,56 @@
[general]
version = 2
name = Normal Quality
definition = cartesio
[metadata]
type = quality
quality_type = normal
material = generic_petg_cartesio_0.25_mm
weight = 2
[values]
infill_line_width = 0.3
wall_thickness = 1
top_bottom_thickness = 0.8
wall_0_inset = -0.05
fill_perimeter_gaps = nowhere
travel_compensate_overlapping_walls_enabled =
infill_sparse_density = 40
infill_pattern = grid
material_print_temperature_layer_0 = =material_print_temperature + 5
material_initial_print_temperature = =material_print_temperature
material_final_print_temperature = =material_print_temperature
material_diameter = 1.75
retraction_min_travel = =round(line_width * 10)
retraction_prime_speed = 8
switch_extruder_retraction_amount = 2
switch_extruder_retraction_speeds = =retraction_speed
switch_extruder_prime_speed = =retraction_prime_speed
speed_print = 50
speed_infill = =speed_print
speed_layer_0 = =round(speed_print / 5 * 4)
speed_wall = =round(speed_print / 2)
speed_wall_0 = =10 if speed_wall < 11 else (speed_print / 5 *3)
speed_topbottom = =round(speed_print / 5 * 4)
speed_slowdown_layers = 1
speed_travel = =round(speed_print if magic_spiralize else 150)
speed_travel_layer_0 = =speed_travel
speed_support_interface = =speed_topbottom
retraction_hop_enabled = True
retraction_hop = 1
cool_min_layer_time_fan_speed_max = =cool_min_layer_time
cool_min_layer_time = 20
skirt_brim_minimal_length = 50
coasting_enable = True
coasting_volume = 0.1
coasting_min_volume = 0.17
coasting_speed = 90

View file

@ -0,0 +1,56 @@
[general]
version = 2
name = High Quality
definition = cartesio
[metadata]
type = quality
quality_type = high
material = generic_petg_cartesio_0.4_mm
weight = 1
[values]
infill_line_width = 0.5
wall_thickness = 1.2
top_bottom_thickness = 0.8
wall_0_inset = -0.05
fill_perimeter_gaps = nowhere
travel_compensate_overlapping_walls_enabled =
infill_sparse_density = 40
infill_pattern = grid
material_print_temperature_layer_0 = =material_print_temperature + 5
material_initial_print_temperature = =material_print_temperature
material_final_print_temperature = =material_print_temperature
material_diameter = 1.75
retraction_min_travel = =round(line_width * 10)
retraction_prime_speed = 8
switch_extruder_retraction_amount = 2
switch_extruder_retraction_speeds = =retraction_speed
switch_extruder_prime_speed = =retraction_prime_speed
speed_print = 50
speed_infill = =speed_print
speed_layer_0 = =round(speed_print / 5 * 4)
speed_wall = =round(speed_print / 2)
speed_wall_0 = =10 if speed_wall < 11 else (speed_print / 5 *3)
speed_topbottom = =round(speed_print / 5 * 4)
speed_slowdown_layers = 1
speed_travel = =round(speed_print if magic_spiralize else 150)
speed_travel_layer_0 = =speed_travel
speed_support_interface = =speed_topbottom
retraction_hop_enabled = True
retraction_hop = 1
cool_min_layer_time_fan_speed_max = =cool_min_layer_time
cool_min_layer_time = 20
skirt_brim_minimal_length = 50
coasting_enable = True
coasting_volume = 0.1
coasting_min_volume = 0.17
coasting_speed = 90

View file

@ -0,0 +1,56 @@
[general]
version = 2
name = Normal Quality
definition = cartesio
[metadata]
type = quality
quality_type = normal
material = generic_petg_cartesio_0.4_mm
weight = 2
[values]
infill_line_width = 0.5
wall_thickness = 1.2
top_bottom_thickness = 0.8
wall_0_inset = -0.05
fill_perimeter_gaps = nowhere
travel_compensate_overlapping_walls_enabled =
infill_sparse_density = 40
infill_pattern = grid
material_print_temperature_layer_0 = =material_print_temperature + 5
material_initial_print_temperature = =material_print_temperature
material_final_print_temperature = =material_print_temperature
material_diameter = 1.75
retraction_min_travel = =round(line_width * 10)
retraction_prime_speed = 8
switch_extruder_retraction_amount = 2
switch_extruder_retraction_speeds = =retraction_speed
switch_extruder_prime_speed = =retraction_prime_speed
speed_print = 50
speed_infill = =speed_print
speed_layer_0 = =round(speed_print / 5 * 4)
speed_wall = =round(speed_print / 2)
speed_wall_0 = =10 if speed_wall < 11 else (speed_print / 5 *3)
speed_topbottom = =round(speed_print / 5 * 4)
speed_slowdown_layers = 1
speed_travel = =round(speed_print if magic_spiralize else 150)
speed_travel_layer_0 = =speed_travel
speed_support_interface = =speed_topbottom
retraction_hop_enabled = True
retraction_hop = 1
cool_min_layer_time_fan_speed_max = =cool_min_layer_time
cool_min_layer_time = 20
skirt_brim_minimal_length = 50
coasting_enable = True
coasting_volume = 0.1
coasting_min_volume = 0.17
coasting_speed = 90

View file

@ -0,0 +1,56 @@
[general]
version = 2
name = Coarse Quality
definition = cartesio
[metadata]
type = quality
quality_type = coarse
material = generic_petg_cartesio_0.8_mm
weight = 3
[values]
infill_line_width = 0.9
wall_thickness = 2.4
top_bottom_thickness = =layer_height * 3
wall_0_inset = -0.05
fill_perimeter_gaps = nowhere
travel_compensate_overlapping_walls_enabled =
infill_sparse_density = 40
infill_pattern = grid
material_print_temperature_layer_0 = =material_print_temperature + 5
material_initial_print_temperature = =material_print_temperature
material_final_print_temperature = =material_print_temperature
material_diameter = 1.75
retraction_min_travel = =round(line_width * 10)
retraction_prime_speed = 8
switch_extruder_retraction_amount = 2
switch_extruder_retraction_speeds = =retraction_speed
switch_extruder_prime_speed = =retraction_prime_speed
speed_print = 30
speed_infill = =speed_print
speed_layer_0 = =round(speed_print / 5 * 4)
speed_wall = =round(speed_print / 2)
speed_wall_0 = =10 if speed_wall < 11 else (speed_print / 5 *3)
speed_topbottom = =round(speed_print / 5 * 4)
speed_slowdown_layers = 1
speed_travel = =round(speed_print if magic_spiralize else 150)
speed_travel_layer_0 = =speed_travel
speed_support_interface = =speed_topbottom
retraction_hop_enabled = True
retraction_hop = 1
cool_min_layer_time_fan_speed_max = =cool_min_layer_time
cool_min_layer_time = 20
skirt_brim_minimal_length = 50
coasting_enable = True
coasting_volume = 0.1
coasting_min_volume = 0.17
coasting_speed = 90

View file

@ -0,0 +1,56 @@
[general]
version = 2
name = Extra Coarse Quality
definition = cartesio
[metadata]
type = quality
quality_type = extra coarse
material = generic_petg_cartesio_0.8_mm
weight = 4
[values]
infill_line_width = 0.9
wall_thickness = 2.4
top_bottom_thickness = =layer_height * 3
wall_0_inset = -0.05
fill_perimeter_gaps = nowhere
travel_compensate_overlapping_walls_enabled =
infill_sparse_density = 40
infill_pattern = grid
material_print_temperature_layer_0 = =material_print_temperature + 5
material_initial_print_temperature = =material_print_temperature
material_final_print_temperature = =material_print_temperature
material_diameter = 1.75
retraction_min_travel = =round(line_width * 10)
retraction_prime_speed = 8
switch_extruder_retraction_amount = 2
switch_extruder_retraction_speeds = =retraction_speed
switch_extruder_prime_speed = =retraction_prime_speed
speed_print = 25
speed_infill = =speed_print
speed_layer_0 = =round(speed_print / 5 * 4)
speed_wall = =round(speed_print / 2)
speed_wall_0 = =10 if speed_wall < 11 else (speed_print / 5 *3)
speed_topbottom = =round(speed_print / 5 * 4)
speed_slowdown_layers = 1
speed_travel = =round(speed_print if magic_spiralize else 150)
speed_travel_layer_0 = =speed_travel
speed_support_interface = =speed_topbottom
retraction_hop_enabled = True
retraction_hop = 1
cool_min_layer_time_fan_speed_max = =cool_min_layer_time
cool_min_layer_time = 20
skirt_brim_minimal_length = 50
coasting_enable = True
coasting_volume = 0.1
coasting_min_volume = 0.17
coasting_speed = 90

View file

@ -0,0 +1,56 @@
[general]
version = 2
name = High Quality
definition = cartesio
[metadata]
type = quality
quality_type = high
material = generic_petg_cartesio_0.8_mm
weight = 1
[values]
infill_line_width = 0.9
wall_thickness = 2.4
top_bottom_thickness = 0.8
wall_0_inset = -0.05
fill_perimeter_gaps = nowhere
travel_compensate_overlapping_walls_enabled =
infill_sparse_density = 40
infill_pattern = grid
material_print_temperature_layer_0 = =material_print_temperature + 5
material_initial_print_temperature = =material_print_temperature
material_final_print_temperature = =material_print_temperature
material_diameter = 1.75
retraction_min_travel = =round(line_width * 10)
retraction_prime_speed = 8
switch_extruder_retraction_amount = 2
switch_extruder_retraction_speeds = =retraction_speed
switch_extruder_prime_speed = =retraction_prime_speed
speed_print = 50
speed_infill = =speed_print
speed_layer_0 = =round(speed_print / 5 * 4)
speed_wall = =round(speed_print / 2)
speed_wall_0 = =10 if speed_wall < 11 else (speed_print / 5 *3)
speed_topbottom = =round(speed_print / 5 * 4)
speed_slowdown_layers = 1
speed_travel = =round(speed_print if magic_spiralize else 150)
speed_travel_layer_0 = =speed_travel
speed_support_interface = =speed_topbottom
retraction_hop_enabled = True
retraction_hop = 1
cool_min_layer_time_fan_speed_max = =cool_min_layer_time
cool_min_layer_time = 20
skirt_brim_minimal_length = 50
coasting_enable = True
coasting_volume = 0.1
coasting_min_volume = 0.17
coasting_speed = 90

View file

@ -0,0 +1,56 @@
[general]
version = 2
name = Normal Quality
definition = cartesio
[metadata]
type = quality
quality_type = normal
material = generic_petg_cartesio_0.8_mm
weight = 2
[values]
infill_line_width = 0.9
wall_thickness = 2.4
top_bottom_thickness = 0.8
wall_0_inset = -0.05
fill_perimeter_gaps = nowhere
travel_compensate_overlapping_walls_enabled =
infill_sparse_density = 40
infill_pattern = grid
material_print_temperature_layer_0 = =material_print_temperature + 5
material_initial_print_temperature = =material_print_temperature
material_final_print_temperature = =material_print_temperature
material_diameter = 1.75
retraction_min_travel = =round(line_width * 10)
retraction_prime_speed = 8
switch_extruder_retraction_amount = 2
switch_extruder_retraction_speeds = =retraction_speed
switch_extruder_prime_speed = =retraction_prime_speed
speed_print = 50
speed_infill = =speed_print
speed_layer_0 = =round(speed_print / 5 * 4)
speed_wall = =round(speed_print / 2)
speed_wall_0 = =10 if speed_wall < 11 else (speed_print / 5 *3)
speed_topbottom = =round(speed_print / 5 * 4)
speed_slowdown_layers = 1
speed_travel = =round(speed_print if magic_spiralize else 150)
speed_travel_layer_0 = =speed_travel
speed_support_interface = =speed_topbottom
retraction_hop_enabled = True
retraction_hop = 1
cool_min_layer_time_fan_speed_max = =cool_min_layer_time
cool_min_layer_time = 20
skirt_brim_minimal_length = 50
coasting_enable = True
coasting_volume = 0.1
coasting_min_volume = 0.17
coasting_speed = 90

View file

@ -0,0 +1,56 @@
[general]
version = 2
name = High Quality
definition = cartesio
[metadata]
type = quality
quality_type = high
material = generic_pla_cartesio_0.25_mm
weight = 1
[values]
infill_line_width = 0.3
wall_thickness = 1
top_bottom_thickness = 0.8
wall_0_inset = -0.05
fill_perimeter_gaps = nowhere
travel_compensate_overlapping_walls_enabled =
infill_sparse_density = 40
infill_pattern = grid
material_print_temperature_layer_0 = =material_print_temperature + 5
material_initial_print_temperature = =material_print_temperature
material_final_print_temperature = =material_print_temperature
material_diameter = 1.75
retraction_min_travel = =round(line_width * 10)
retraction_prime_speed = 10
switch_extruder_retraction_amount = 2
switch_extruder_retraction_speeds = =retraction_speed
switch_extruder_prime_speed = =retraction_prime_speed
speed_print = 50
speed_infill = =speed_print
speed_layer_0 = =round(speed_print / 5 * 4)
speed_wall = =round(speed_print / 2)
speed_wall_0 = =10 if speed_wall < 11 else (speed_print / 5 *3)
speed_topbottom = =round(speed_print / 5 * 4)
speed_slowdown_layers = 1
speed_travel = =round(speed_print if magic_spiralize else 150)
speed_travel_layer_0 = =speed_travel
speed_support_interface = =speed_topbottom
retraction_hop_enabled = True
retraction_hop = 1
cool_min_layer_time_fan_speed_max = =cool_min_layer_time
cool_min_layer_time = 20
skirt_brim_minimal_length = 50
coasting_enable = True
coasting_volume = 0.1
coasting_min_volume = 0.17
coasting_speed = 90

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