mirror of
https://github.com/Ultimaker/Cura.git
synced 2026-02-15 08:59:32 -07:00
Merge branch 'main' into PP-179-Allow-Breakaway-on-BB-core
Some checks failed
conan-package-resources / conan-package (push) Has been cancelled
conan-package / conan-package (push) Has been cancelled
printer-linter-format / Printer linter auto format (push) Has been cancelled
unit-test / Run unit tests (push) Has been cancelled
conan-package-resources / signal-curator (push) Has been cancelled
Some checks failed
conan-package-resources / conan-package (push) Has been cancelled
conan-package / conan-package (push) Has been cancelled
printer-linter-format / Printer linter auto format (push) Has been cancelled
unit-test / Run unit tests (push) Has been cancelled
conan-package-resources / signal-curator (push) Has been cancelled
This commit is contained in:
commit
a7958907da
610 changed files with 18224 additions and 798 deletions
|
|
@ -37,6 +37,7 @@ class FormatMaps:
|
|||
"abs-cf10": {"name": "ABS-CF", "guid": "495a0ce5-9daf-4a16-b7b2-06856d82394d"},
|
||||
"abs-wss1": {"name": "ABS-R", "guid": "88c8919c-6a09-471a-b7b6-e801263d862d"},
|
||||
"asa": {"name": "ASA", "guid": "f79bc612-21eb-482e-ad6c-87d75bdde066"},
|
||||
"nylon": {"name": "Nylon", "guid": "9475b03d-fd19-48a2-b7b5-be1fb46abb02"},
|
||||
"nylon12-cf": {"name": "Nylon 12 CF", "guid": "3c6f2877-71cc-4760-84e6-4b89ab243e3b"},
|
||||
"nylon-cf": {"name": "Nylon CF", "guid": "17abb865-ca73-4ccd-aeda-38e294c9c60b"},
|
||||
"pet": {"name": "PETG", "guid": "2d004bbd-d1bb-47f8-beac-b066702d5273"},
|
||||
|
|
|
|||
|
|
@ -1,23 +1,24 @@
|
|||
# Copyright (c) 2025 UltiMaker
|
||||
# Cura is released under the terms of the LGPLv3 or higher.
|
||||
import math
|
||||
|
||||
from enum import IntEnum
|
||||
import numpy
|
||||
from PyQt6.QtCore import Qt, QObject, pyqtEnum
|
||||
from PyQt6.QtGui import QImage, QPainter, QColor, QPen
|
||||
from PyQt6 import QtWidgets
|
||||
from typing import cast, Dict, List, Optional, Tuple
|
||||
|
||||
from numpy import ndarray
|
||||
from PyQt6.QtCore import Qt, QObject, pyqtEnum, QPointF
|
||||
from PyQt6.QtGui import QImage, QPainter, QPen, QBrush, QPolygonF
|
||||
from typing import cast, Optional, Tuple, List
|
||||
|
||||
from UM.Application import Application
|
||||
from UM.Event import Event, MouseEvent, KeyEvent
|
||||
from UM.Event import Event, MouseEvent
|
||||
from UM.Job import Job
|
||||
from UM.Logger import Logger
|
||||
from UM.Math.AxisAlignedBox2D import AxisAlignedBox2D
|
||||
from UM.Math.Polygon import Polygon
|
||||
from UM.Math.Vector import Vector
|
||||
from UM.Scene.Camera import Camera
|
||||
from UM.Scene.SceneNode import SceneNode
|
||||
from UM.Scene.Selection import Selection
|
||||
from UM.Tool import Tool
|
||||
from UM.View.GL.OpenGL import OpenGL
|
||||
|
||||
from cura.CuraApplication import CuraApplication
|
||||
from cura.PickingPass import PickingPass
|
||||
|
|
@ -58,28 +59,47 @@ class PaintTool(Tool):
|
|||
self._mesh_transformed_cache = None
|
||||
self._cache_dirty: bool = True
|
||||
|
||||
self._brush_size: int = 200
|
||||
self._brush_size: int = 10
|
||||
self._brush_color: str = "preferred"
|
||||
self._brush_extruder: int = 0
|
||||
self._brush_shape: PaintTool.Brush.Shape = PaintTool.Brush.Shape.CIRCLE
|
||||
self._brush_pen: QPen = self._createBrushPen()
|
||||
|
||||
self._mouse_held: bool = False
|
||||
|
||||
self._last_text_coords: Optional[numpy.ndarray] = None
|
||||
self._last_mouse_coords: Optional[Tuple[int, int]] = None
|
||||
self._last_face_id: Optional[int] = None
|
||||
self._last_world_coords: Optional[numpy.ndarray] = None
|
||||
|
||||
self._state: PaintTool.Paint.State = PaintTool.Paint.State.MULTIPLE_SELECTION
|
||||
self._prepare_texture_job: Optional[PrepareTextureJob] = None
|
||||
|
||||
self.setExposedProperties("PaintType", "BrushSize", "BrushColor", "BrushShape", "State", "CanUndo", "CanRedo")
|
||||
self.setExposedProperties("PaintType", "BrushSize", "BrushColor", "BrushShape", "BrushExtruder", "State", "CanUndo", "CanRedo")
|
||||
|
||||
self._controller.activeViewChanged.connect(self._updateIgnoreUnselectedObjects)
|
||||
self._controller.activeToolChanged.connect(self._updateState)
|
||||
|
||||
self._camera: Optional[Camera] = None
|
||||
self._cam_pos: numpy.ndarray = numpy.array([0.0, 0.0, 0.0])
|
||||
self._cam_norm: numpy.ndarray = numpy.array([0.0, 0.0, 1.0])
|
||||
self._cam_axis_q: numpy.ndarray = numpy.array([1.0, 0.0, 0.0])
|
||||
self._cam_axis_r: numpy.ndarray = numpy.array([0.0, -1.0, 0.0])
|
||||
|
||||
def _updateCamera(self, *args) -> None:
|
||||
if self._camera is None:
|
||||
self._camera = Application.getInstance().getController().getScene().getActiveCamera()
|
||||
self._camera.transformationChanged.connect(self._updateCamera)
|
||||
self._cam_pos = self._camera.getPosition().getData()
|
||||
cam_ray = self._camera.getRay(0, 0)
|
||||
self._cam_norm = cam_ray.direction.getData()
|
||||
self._cam_norm /= -numpy.linalg.norm(self._cam_norm)
|
||||
axis_up = numpy.array([0.0, -1.0, 0.0]) if abs(self._cam_norm[1]) < abs(self._cam_norm[2]) else numpy.array([0.0, 0.0, 1.0])
|
||||
self._cam_axis_q = numpy.cross(self._cam_norm, axis_up)
|
||||
self._cam_axis_q /= numpy.linalg.norm(self._cam_axis_q)
|
||||
self._cam_axis_r = numpy.cross(self._cam_axis_q, self._cam_norm)
|
||||
self._cam_axis_r /= numpy.linalg.norm(self._cam_axis_r)
|
||||
|
||||
def _createBrushPen(self) -> QPen:
|
||||
pen = QPen()
|
||||
pen.setWidth(self._brush_size)
|
||||
pen.setWidth(2)
|
||||
pen.setColor(Qt.GlobalColor.white)
|
||||
|
||||
match self._brush_shape:
|
||||
|
|
@ -87,29 +107,12 @@ class PaintTool(Tool):
|
|||
pen.setCapStyle(Qt.PenCapStyle.SquareCap)
|
||||
case PaintTool.Brush.Shape.CIRCLE:
|
||||
pen.setCapStyle(Qt.PenCapStyle.RoundCap)
|
||||
case _:
|
||||
Logger.error(f"Unknown brush shape '{self._brush_shape}', painting may not work.")
|
||||
return pen
|
||||
|
||||
def _createStrokeImage(self, x0: float, y0: float, x1: float, y1: float) -> Tuple[QImage, Tuple[int, int]]:
|
||||
xdiff = int(x1 - x0)
|
||||
ydiff = int(y1 - y0)
|
||||
|
||||
half_brush_size = self._brush_size // 2
|
||||
start_x = int(min(x0, x1) - half_brush_size)
|
||||
start_y = int(min(y0, y1) - half_brush_size)
|
||||
|
||||
stroke_image = QImage(abs(xdiff) + self._brush_size, abs(ydiff) + self._brush_size, QImage.Format.Format_RGB32)
|
||||
stroke_image.fill(0)
|
||||
|
||||
painter = QPainter(stroke_image)
|
||||
painter.setRenderHint(QPainter.RenderHint.Antialiasing, False)
|
||||
painter.setPen(self._brush_pen)
|
||||
if xdiff == 0 and ydiff == 0:
|
||||
painter.drawPoint(int(x0 - start_x), int(y0 - start_y))
|
||||
else:
|
||||
painter.drawLine(int(x0 - start_x), int(y0 - start_y), int(x1 - start_x), int(y1 - start_y))
|
||||
painter.end()
|
||||
|
||||
return stroke_image, (start_x, start_y)
|
||||
def _createStrokeImage(self, polys: List[Polygon]) -> Tuple[QImage, Tuple[int, int]]:
|
||||
return PaintTool._rasterizePolygons(polys, self._brush_pen, QBrush(self._brush_pen.color()))
|
||||
|
||||
def getPaintType(self) -> str:
|
||||
return self._view.getPaintType()
|
||||
|
|
@ -140,6 +143,14 @@ class PaintTool(Tool):
|
|||
self._brush_color = brush_color
|
||||
self.propertyChanged.emit()
|
||||
|
||||
def getBrushExtruder(self) -> int:
|
||||
return self._brush_extruder
|
||||
|
||||
def setBrushExtruder(self, brush_extruder: int) -> None:
|
||||
if brush_extruder != self._brush_extruder:
|
||||
self._brush_extruder = brush_extruder
|
||||
self.propertyChanged.emit()
|
||||
|
||||
def getBrushShape(self) -> int:
|
||||
return self._brush_shape
|
||||
|
||||
|
|
@ -152,15 +163,15 @@ class PaintTool(Tool):
|
|||
def getCanUndo(self) -> bool:
|
||||
return self._view.canUndo()
|
||||
|
||||
def getCanRedo(self) -> bool:
|
||||
return self._view.canRedo()
|
||||
|
||||
def getState(self) -> int:
|
||||
return self._state
|
||||
|
||||
def _onCanUndoChanged(self):
|
||||
self.propertyChanged.emit()
|
||||
|
||||
def getCanRedo(self) -> bool:
|
||||
return self._view.canRedo()
|
||||
|
||||
def _onCanRedoChanged(self):
|
||||
self.propertyChanged.emit()
|
||||
|
||||
|
|
@ -176,7 +187,7 @@ class PaintTool(Tool):
|
|||
width, height = self._view.getUvTexDimensions()
|
||||
clear_image = QImage(width, height, QImage.Format.Format_RGB32)
|
||||
clear_image.fill(Qt.GlobalColor.white)
|
||||
self._view.addStroke(clear_image, 0, 0, "none", False)
|
||||
self._view.addStroke(clear_image, 0, 0, "none" if self.getPaintType() != "extruder" else "0", False)
|
||||
|
||||
self._updateScene()
|
||||
|
||||
|
|
@ -217,61 +228,127 @@ class PaintTool(Tool):
|
|||
def _nodeTransformChanged(self, *args) -> None:
|
||||
self._cache_dirty = True
|
||||
|
||||
def _getTexCoordsFromClick(self, node: SceneNode, x: float, y: float) -> Tuple[int, Optional[numpy.ndarray]]:
|
||||
face_id = self._faces_selection_pass.getFaceIdAtPosition(x, y)
|
||||
if face_id < 0 or face_id >= node.getMeshData().getFaceCount():
|
||||
return face_id, None
|
||||
@staticmethod
|
||||
def _getBarycentricCoordinates(points: numpy.array, triangle: numpy.array) -> Optional[numpy.array]:
|
||||
v0 = triangle[1] - triangle[0]
|
||||
v1 = triangle[2] - triangle[0]
|
||||
v2 = points - triangle[0]
|
||||
|
||||
pt = self._picking_pass.getPickedPosition(x, y).getData()
|
||||
d00 = numpy.sum(v0 * v0, axis=0)
|
||||
d01 = numpy.sum(v0 * v1, axis=0)
|
||||
d11 = numpy.sum(v1 * v1, axis=0)
|
||||
d20 = numpy.sum(v2 * v0, axis=1)
|
||||
d21 = numpy.sum(v2 * v1, axis=1)
|
||||
|
||||
va, vb, vc = self._mesh_transformed_cache.getFaceNodes(face_id)
|
||||
denominator = d00 * d11 - d01 ** 2
|
||||
|
||||
face_uv_coordinates = node.getMeshData().getFaceUvCoords(face_id)
|
||||
if face_uv_coordinates is None:
|
||||
return face_id, None
|
||||
ta, tb, tc = face_uv_coordinates
|
||||
if denominator < 1e-6: # Degenerate triangle
|
||||
return None
|
||||
|
||||
# 'Weight' of each vertex that would produce point pt, so we can generate the texture coordinates from the uv ones of the vertices.
|
||||
# See (also) https://mathworld.wolfram.com/BarycentricCoordinates.html
|
||||
wa = PaintTool._get_intersect_ratio_via_pt(va, pt, vb, vc)
|
||||
wb = PaintTool._get_intersect_ratio_via_pt(vb, pt, vc, va)
|
||||
wc = PaintTool._get_intersect_ratio_via_pt(vc, pt, va, vb)
|
||||
wt = wa + wb + wc
|
||||
if wt == 0:
|
||||
return face_id, None
|
||||
wa /= wt
|
||||
wb /= wt
|
||||
wc /= wt
|
||||
texcoords = wa * ta + wb * tb + wc * tc
|
||||
return face_id, texcoords
|
||||
v = (d11 * d20 - d01 * d21) / denominator
|
||||
w = (d00 * d21 - d01 * d20) / denominator
|
||||
u = 1 - v - w
|
||||
|
||||
def _iteratateSplitSubstroke(self, node, substrokes,
|
||||
info_a: Tuple[Tuple[float, float], Tuple[int, Optional[numpy.ndarray]]],
|
||||
info_b: Tuple[Tuple[float, float], Tuple[int, Optional[numpy.ndarray]]]) -> None:
|
||||
click_a, (face_a, texcoords_a) = info_a
|
||||
click_b, (face_b, texcoords_b) = info_b
|
||||
return numpy.column_stack((u, v, w))
|
||||
|
||||
if (abs(click_a[0] - click_b[0]) < 0.0001 and abs(click_a[1] - click_b[1]) < 0.0001) or (face_a < 0 and face_b < 0):
|
||||
return
|
||||
if face_b < 0 or face_a == face_b:
|
||||
substrokes.append((self._last_text_coords, texcoords_a))
|
||||
return
|
||||
if face_a < 0:
|
||||
substrokes.append((self._last_text_coords, texcoords_b))
|
||||
return
|
||||
def _getStrokePolygon(self, stroke_a: numpy.ndarray, stroke_b: numpy.ndarray) -> Polygon:
|
||||
shape = None
|
||||
side = self._brush_size
|
||||
match self._brush_shape:
|
||||
case PaintTool.Brush.Shape.SQUARE:
|
||||
shape = Polygon([(side, side), (-side, side), (-side, -side), (side, -side)])
|
||||
case PaintTool.Brush.Shape.CIRCLE:
|
||||
shape = Polygon.approximatedCircle(side, 32)
|
||||
case _:
|
||||
Logger.error(f"Unknown brush shape '{self._brush_shape}'.")
|
||||
if shape is None:
|
||||
return Polygon()
|
||||
return shape.translate(stroke_a[0], stroke_a[1]).unionConvexHulls(shape.translate(stroke_b[0], stroke_b[1]))
|
||||
|
||||
mouse_mid = (click_a[0] + click_b[0]) / 2.0, (click_a[1] + click_b[1]) / 2.0
|
||||
face_mid, texcoords_mid = self._getTexCoordsFromClick(node, mouse_mid[0], mouse_mid[1])
|
||||
mid_struct = (mouse_mid, (face_mid, texcoords_mid))
|
||||
if face_mid == face_a:
|
||||
substrokes.append((texcoords_a, texcoords_mid))
|
||||
self._iteratateSplitSubstroke(node, substrokes, mid_struct, info_b)
|
||||
elif face_mid == face_b:
|
||||
substrokes.append((texcoords_mid, texcoords_b))
|
||||
self._iteratateSplitSubstroke(node, substrokes, info_a, mid_struct)
|
||||
else:
|
||||
self._iteratateSplitSubstroke(node, substrokes, mid_struct, info_b)
|
||||
self._iteratateSplitSubstroke(node, substrokes, info_a, mid_struct)
|
||||
@staticmethod
|
||||
def _rasterizePolygons(polygons: List[Polygon], pen: QPen, brush: QBrush) -> Tuple[QImage, Tuple[int, int]]:
|
||||
if not polygons:
|
||||
return QImage(), (0, 0)
|
||||
|
||||
bounding_box = polygons[0].getBoundingBox()
|
||||
for polygon in polygons[1:]:
|
||||
bounding_box += polygon.getBoundingBox()
|
||||
|
||||
bounding_box = AxisAlignedBox2D(numpy.array([math.floor(bounding_box.left), math.floor(bounding_box.top)]),
|
||||
numpy.array([math.ceil(bounding_box.right), math.ceil(bounding_box.bottom)]))
|
||||
|
||||
# Use RGB32 which is more optimized for drawing to
|
||||
image = QImage(int(bounding_box.width), int(bounding_box.height), QImage.Format.Format_RGB32)
|
||||
image.fill(0)
|
||||
|
||||
painter = QPainter(image)
|
||||
painter.translate(-bounding_box.left, -bounding_box.bottom)
|
||||
painter.setRenderHint(QPainter.RenderHint.Antialiasing, False)
|
||||
painter.setPen(pen)
|
||||
painter.setBrush(brush)
|
||||
|
||||
for polygon in polygons:
|
||||
painter.drawPolygon(QPolygonF([QPointF(point[0], point[1]) for point in polygon]))
|
||||
|
||||
painter.end()
|
||||
|
||||
return image, (int(bounding_box.left), int(bounding_box.bottom))
|
||||
|
||||
# NOTE: Currently, it's unclear how well this would work for non-convex brush-shapes.
|
||||
def _getUvAreasForStroke(self, world_coords_a: numpy.ndarray, world_coords_b: numpy.ndarray) -> List[Polygon]:
|
||||
""" Fetches all texture-coordinate areas within the provided stroke on the mesh.
|
||||
|
||||
Calculates intersections of the stroke with the surface of the geometry and maps them to UV-space polygons.
|
||||
|
||||
:param face_id_a: ID of the face where the stroke starts.
|
||||
:param face_id_b: ID of the face where the stroke ends.
|
||||
:param world_coords_a: 3D ('world') coordinates corresponding to the starting stroke point.
|
||||
:param world_coords_b: 3D ('world') coordinates corresponding to the ending stroke point.
|
||||
:return: A list of UV-mapped polygons representing areas intersected by the stroke on the node's mesh surface.
|
||||
"""
|
||||
|
||||
def get_projected_on_plane(pt: numpy.ndarray) -> numpy.ndarray:
|
||||
return numpy.array([*self._camera.projectToViewport(Vector(*pt))], dtype=numpy.float32)
|
||||
|
||||
def get_projected_on_viewport_image(pt: numpy) -> numpy.ndarray:
|
||||
return numpy.array([pt[0] + self._camera.getViewportWidth() / 2.0,
|
||||
self._camera.getViewportHeight() - (pt[1] + self._camera.getViewportHeight() / 2.0)],
|
||||
dtype=numpy.float32)
|
||||
|
||||
stroke_poly = self._getStrokePolygon(get_projected_on_plane(world_coords_a), get_projected_on_plane(world_coords_b))
|
||||
stroke_poly_viewport = Polygon([get_projected_on_viewport_image(point) for point in stroke_poly])
|
||||
|
||||
faces_image, (faces_x, faces_y) = PaintTool._rasterizePolygons([stroke_poly_viewport],
|
||||
QPen(Qt.PenStyle.NoPen),
|
||||
QBrush(Qt.GlobalColor.white))
|
||||
faces = self._faces_selection_pass.getFacesIdsUnderMask(faces_image, faces_x, faces_y)
|
||||
|
||||
texture_dimensions = numpy.array(list(self._view.getUvTexDimensions()))
|
||||
|
||||
res = []
|
||||
for face in faces:
|
||||
_, fnorm = self._mesh_transformed_cache.getFacePlane(face)
|
||||
if numpy.dot(fnorm, self._cam_norm) < 0: # <- facing away from the viewer
|
||||
continue
|
||||
|
||||
va, vb, vc = self._mesh_transformed_cache.getFaceNodes(face)
|
||||
stroke_tri = Polygon([
|
||||
get_projected_on_plane(va),
|
||||
get_projected_on_plane(vb),
|
||||
get_projected_on_plane(vc)])
|
||||
face_uv_coordinates = self._node_cache.getMeshData().getFaceUvCoords(face)
|
||||
if face_uv_coordinates is None:
|
||||
continue
|
||||
ta, tb, tc = face_uv_coordinates
|
||||
original_uv_poly = numpy.array([ta, tb, tc])
|
||||
uv_area = stroke_poly.intersection(stroke_tri)
|
||||
|
||||
if uv_area.isValid():
|
||||
uv_area_barycentric = PaintTool._getBarycentricCoordinates(uv_area.getPoints(), stroke_tri.getPoints())
|
||||
if uv_area_barycentric is not None:
|
||||
res.append(Polygon((uv_area_barycentric @ original_uv_poly) * texture_dimensions))
|
||||
|
||||
return res
|
||||
|
||||
def event(self, event: Event) -> bool:
|
||||
"""Handle mouse and keyboard events.
|
||||
|
|
@ -282,7 +359,6 @@ class PaintTool(Tool):
|
|||
"""
|
||||
super().event(event)
|
||||
|
||||
controller = Application.getInstance().getController()
|
||||
node = Selection.getSelectedObject(0)
|
||||
if node is None:
|
||||
return False
|
||||
|
|
@ -301,18 +377,19 @@ class PaintTool(Tool):
|
|||
if MouseEvent.LeftButton not in cast(MouseEvent, event).buttons:
|
||||
return False
|
||||
self._mouse_held = False
|
||||
self._last_text_coords = None
|
||||
self._last_mouse_coords = None
|
||||
self._last_face_id = None
|
||||
self._last_world_coords = None
|
||||
return True
|
||||
|
||||
is_moved = event.type == Event.MouseMoveEvent
|
||||
is_pressed = event.type == Event.MousePressEvent
|
||||
if (is_moved or is_pressed) and self._controller.getToolsEnabled():
|
||||
if is_moved and not self._mouse_held:
|
||||
return False
|
||||
|
||||
mouse_evt = cast(MouseEvent, event)
|
||||
|
||||
if not self._picking_pass:
|
||||
self._picking_pass = CuraApplication.getInstance().getRenderer().getRenderPass("picking_selected")
|
||||
if not self._picking_pass:
|
||||
return False
|
||||
|
||||
if is_pressed:
|
||||
if MouseEvent.LeftButton not in mouse_evt.buttons:
|
||||
return False
|
||||
|
|
@ -324,13 +401,9 @@ class PaintTool(Tool):
|
|||
if not self._faces_selection_pass:
|
||||
return False
|
||||
|
||||
if not self._picking_pass:
|
||||
self._picking_pass = CuraApplication.getInstance().getRenderer().getRenderPass("picking_selected")
|
||||
if not self._picking_pass:
|
||||
return False
|
||||
|
||||
camera = self._controller.getScene().getActiveCamera()
|
||||
if not camera:
|
||||
if self._camera is None:
|
||||
self._updateCamera()
|
||||
if self._camera is None:
|
||||
return False
|
||||
|
||||
if node != self._node_cache:
|
||||
|
|
@ -345,35 +418,37 @@ class PaintTool(Tool):
|
|||
if not self._mesh_transformed_cache:
|
||||
return False
|
||||
|
||||
face_id, texcoords = self._getTexCoordsFromClick(node, mouse_evt.x, mouse_evt.y)
|
||||
if texcoords is None:
|
||||
face_id = self._faces_selection_pass.getFaceIdAtPosition(mouse_evt.x, mouse_evt.y)
|
||||
if face_id < 0 or face_id >= self._mesh_transformed_cache.getFaceCount():
|
||||
if self._view.clearCursorStroke():
|
||||
self._updateScene(node)
|
||||
return True
|
||||
return False
|
||||
if self._last_text_coords is None:
|
||||
self._last_text_coords = texcoords
|
||||
self._last_mouse_coords = (mouse_evt.x, mouse_evt.y)
|
||||
self._last_face_id = face_id
|
||||
|
||||
substrokes = []
|
||||
if face_id == self._last_face_id:
|
||||
substrokes.append((self._last_text_coords, texcoords))
|
||||
else:
|
||||
self._iteratateSplitSubstroke(node, substrokes,
|
||||
(self._last_mouse_coords, (self._last_face_id, self._last_text_coords)),
|
||||
((mouse_evt.x, mouse_evt.y), (face_id, texcoords)))
|
||||
world_coords_vec = self._picking_pass.getPickedPosition(mouse_evt.x, mouse_evt.y)
|
||||
world_coords = world_coords_vec.getData()
|
||||
if self._last_world_coords is None:
|
||||
self._last_world_coords = world_coords
|
||||
|
||||
w, h = self._view.getUvTexDimensions()
|
||||
for start_coords, end_coords in substrokes:
|
||||
sub_image, (start_x, start_y) = self._createStrokeImage(
|
||||
start_coords[0] * w,
|
||||
start_coords[1] * h,
|
||||
end_coords[0] * w,
|
||||
end_coords[1] * h
|
||||
)
|
||||
self._view.addStroke(sub_image, start_x, start_y, self._brush_color, is_moved)
|
||||
try:
|
||||
brush_color = self._brush_color if self.getPaintType() != "extruder" else str(self._brush_extruder)
|
||||
uv_areas_cursor = self._getUvAreasForStroke(world_coords, world_coords)
|
||||
if len(uv_areas_cursor) > 0:
|
||||
cursor_stroke_img, (start_x, start_y) = self._createStrokeImage(uv_areas_cursor)
|
||||
self._view.setCursorStroke(cursor_stroke_img, start_x, start_y, brush_color)
|
||||
else:
|
||||
self._view.clearCursorStroke()
|
||||
|
||||
self._last_text_coords = texcoords
|
||||
self._last_mouse_coords = (mouse_evt.x, mouse_evt.y)
|
||||
self._last_face_id = face_id
|
||||
if self._mouse_held:
|
||||
uv_areas = self._getUvAreasForStroke(self._last_world_coords, world_coords)
|
||||
if len(uv_areas) == 0:
|
||||
return False
|
||||
stroke_img, (start_x, start_y) = self._createStrokeImage(uv_areas)
|
||||
self._view.addStroke(stroke_img, start_x, start_y, brush_color, is_moved)
|
||||
except:
|
||||
Logger.logException("e", "Error when adding paint stroke")
|
||||
|
||||
self._last_world_coords = world_coords
|
||||
self._updateScene(node)
|
||||
return True
|
||||
|
||||
|
|
@ -421,4 +496,4 @@ class PaintTool(Tool):
|
|||
def _updateIgnoreUnselectedObjects(self):
|
||||
ignore_unselected_objects = self._controller.getActiveView().name == "PaintTool"
|
||||
CuraApplication.getInstance().getRenderer().getRenderPass("selection").setIgnoreUnselectedObjects(ignore_unselected_objects)
|
||||
CuraApplication.getInstance().getRenderer().getRenderPass("selection_faces").setIgnoreUnselectedObjects(ignore_unselected_objects)
|
||||
CuraApplication.getInstance().getRenderer().getRenderPass("selection_faces").setIgnoreUnselectedObjects(ignore_unselected_objects)
|
||||
|
|
|
|||
|
|
@ -11,6 +11,7 @@ import Cura 1.0 as Cura
|
|||
Item
|
||||
{
|
||||
id: base
|
||||
|
||||
width: childrenRect.width
|
||||
height: childrenRect.height
|
||||
UM.I18nCatalog { id: catalog; name: "cura"}
|
||||
|
|
@ -57,6 +58,14 @@ Item
|
|||
mode: "support"
|
||||
visible: false
|
||||
}
|
||||
|
||||
PaintModeButton
|
||||
{
|
||||
text: catalog.i18nc("@action:button", "Material")
|
||||
icon: "Extruder"
|
||||
tooltipText: catalog.i18nc("@tooltip", "Paint on model to select the material to be used")
|
||||
mode: "extruder"
|
||||
}
|
||||
}
|
||||
|
||||
//Line between the sections.
|
||||
|
|
@ -70,6 +79,7 @@ Item
|
|||
RowLayout
|
||||
{
|
||||
id: rowBrushColor
|
||||
visible: !rowExtruder.visible
|
||||
|
||||
UM.Label
|
||||
{
|
||||
|
|
@ -116,6 +126,30 @@ Item
|
|||
}
|
||||
}
|
||||
|
||||
RowLayout
|
||||
{
|
||||
id: rowExtruder
|
||||
visible: UM.Controller.properties.getValue("PaintType") === "extruder"
|
||||
|
||||
UM.Label
|
||||
{
|
||||
text: catalog.i18nc("@label", "Mark as")
|
||||
}
|
||||
|
||||
Repeater
|
||||
{
|
||||
id: repeaterExtruders
|
||||
model: CuraApplication.getExtrudersModel()
|
||||
delegate: Cura.ExtruderButton
|
||||
{
|
||||
extruder: model
|
||||
|
||||
checked: UM.Controller.properties.getValue("BrushExtruder") === model.index
|
||||
onClicked: UM.Controller.setProperty("BrushExtruder", model.index)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
RowLayout
|
||||
{
|
||||
id: rowBrushShape
|
||||
|
|
@ -163,8 +197,8 @@ Item
|
|||
width: parent.width
|
||||
indicatorVisible: false
|
||||
|
||||
from: 10
|
||||
to: 1000
|
||||
from: 1
|
||||
to: 100
|
||||
value: UM.Controller.properties.getValue("BrushSize")
|
||||
|
||||
onPressedChanged: function(pressed)
|
||||
|
|
|
|||
|
|
@ -2,14 +2,15 @@
|
|||
# Cura is released under the terms of the LGPLv3 or higher.
|
||||
|
||||
import os
|
||||
from PyQt6.QtCore import QRect, pyqtSignal
|
||||
from typing import Optional, Dict
|
||||
|
||||
from PyQt6.QtGui import QImage, QUndoStack
|
||||
from PyQt6.QtCore import QRect, pyqtSignal
|
||||
from PyQt6.QtGui import QImage, QUndoStack, QPainter, QColor
|
||||
from typing import Optional, List, Tuple, Dict
|
||||
|
||||
from cura.CuraApplication import CuraApplication
|
||||
from cura.BuildVolume import BuildVolume
|
||||
from cura.CuraView import CuraView
|
||||
from cura.Machines.Models.ExtrudersModel import ExtrudersModel
|
||||
from UM.PluginRegistry import PluginRegistry
|
||||
from UM.View.GL.ShaderProgram import ShaderProgram
|
||||
from UM.View.GL.Texture import Texture
|
||||
|
|
@ -36,6 +37,8 @@ class PaintView(CuraView):
|
|||
super().__init__(use_empty_menu_placeholder = True)
|
||||
self._paint_shader: Optional[ShaderProgram] = None
|
||||
self._current_paint_texture: Optional[Texture] = None
|
||||
self._previous_paint_texture_stroke: Optional[QRect] = None
|
||||
self._cursor_texture: Optional[Texture] = None
|
||||
self._current_bits_ranges: tuple[int, int] = (0, 0)
|
||||
self._current_paint_type = ""
|
||||
self._paint_modes: Dict[str, Dict[str, "PaintView.PaintType"]] = {}
|
||||
|
|
@ -49,6 +52,8 @@ class PaintView(CuraView):
|
|||
application.engineCreatedSignal.connect(self._makePaintModes)
|
||||
self._scene = application.getController().getScene()
|
||||
|
||||
self._extruders_model: Optional[ExtrudersModel] = None
|
||||
|
||||
canUndoChanged = pyqtSignal(bool)
|
||||
canRedoChanged = pyqtSignal(bool)
|
||||
|
||||
|
|
@ -59,22 +64,98 @@ class PaintView(CuraView):
|
|||
return self._paint_undo_stack.canRedo()
|
||||
|
||||
def _makePaintModes(self):
|
||||
theme = CuraApplication.getInstance().getTheme()
|
||||
application = CuraApplication.getInstance()
|
||||
|
||||
self._extruders_model = application.getExtrudersModel()
|
||||
self._extruders_model.modelChanged.connect(self._onExtrudersChanged)
|
||||
|
||||
theme = application.getTheme()
|
||||
usual_types = {"none": self.PaintType(Color(*theme.getColor("paint_normal_area").getRgb()), 0),
|
||||
"preferred": self.PaintType(Color(*theme.getColor("paint_preferred_area").getRgb()), 1),
|
||||
"avoid": self.PaintType(Color(*theme.getColor("paint_avoid_area").getRgb()), 2)}
|
||||
self._paint_modes = {
|
||||
"seam": usual_types,
|
||||
"support": usual_types,
|
||||
"extruder": self._makeExtrudersColors(),
|
||||
}
|
||||
|
||||
self._current_paint_type = "seam"
|
||||
|
||||
def _makeExtrudersColors(self) -> Dict[str, "PaintView.PaintType"]:
|
||||
extruders_colors: Dict[str, "PaintView.PaintType"] = {}
|
||||
|
||||
for extruder_item in self._extruders_model.items:
|
||||
if "color" in extruder_item:
|
||||
material_color = extruder_item["color"]
|
||||
else:
|
||||
material_color = self._extruders_model.defaultColors[0]
|
||||
|
||||
index = extruder_item["index"]
|
||||
extruders_colors[str(index)] = self.PaintType(Color(*QColor(material_color).getRgb()), index)
|
||||
|
||||
return extruders_colors
|
||||
|
||||
def _onExtrudersChanged(self) -> None:
|
||||
if self._paint_modes is None:
|
||||
return
|
||||
|
||||
self._paint_modes["extruder"] = self._makeExtrudersColors()
|
||||
|
||||
controller = CuraApplication.getInstance().getController()
|
||||
if controller.getActiveView() != self:
|
||||
return
|
||||
|
||||
selected_objects = Selection.getAllSelectedObjects()
|
||||
if len(selected_objects) != 1:
|
||||
return
|
||||
|
||||
controller.getScene().sceneChanged.emit(selected_objects[0])
|
||||
|
||||
def _checkSetup(self):
|
||||
if not self._paint_shader:
|
||||
shader_filename = os.path.join(PluginRegistry.getInstance().getPluginPath("PaintTool"), "paint.shader")
|
||||
self._paint_shader = OpenGL.getInstance().createShaderProgram(shader_filename)
|
||||
|
||||
def setCursorStroke(self, stroke_mask: QImage, start_x: int, start_y: int, brush_color: str):
|
||||
if self._cursor_texture is None or self._cursor_texture.getImage() is None:
|
||||
return
|
||||
|
||||
self.clearCursorStroke()
|
||||
|
||||
stroke_image = stroke_mask.copy()
|
||||
alpha_mask = stroke_image.convertedTo(QImage.Format.Format_Mono)
|
||||
stroke_image.setAlphaChannel(alpha_mask)
|
||||
|
||||
painter = QPainter(stroke_image)
|
||||
|
||||
painter.setCompositionMode(QPainter.CompositionMode.CompositionMode_SourceAtop)
|
||||
display_color = self._paint_modes[self._current_paint_type][brush_color].display_color
|
||||
paint_color = QColor(*[int(color_part * 255) for color_part in [display_color.r, display_color.g, display_color.b]])
|
||||
paint_color.setAlpha(255)
|
||||
painter.fillRect(0, 0, stroke_mask.width(), stroke_mask.height(), paint_color)
|
||||
|
||||
painter.end()
|
||||
|
||||
self._cursor_texture.setSubImage(stroke_image, start_x, start_y)
|
||||
|
||||
self._previous_paint_texture_stroke = QRect(start_x, start_y, stroke_mask.width(), stroke_mask.height())
|
||||
|
||||
def clearCursorStroke(self) -> bool:
|
||||
if (self._previous_paint_texture_stroke is None or
|
||||
self._cursor_texture is None or self._cursor_texture.getImage() is None):
|
||||
return False
|
||||
|
||||
clear_image = QImage(self._previous_paint_texture_stroke.width(),
|
||||
self._previous_paint_texture_stroke.height(),
|
||||
QImage.Format.Format_ARGB32)
|
||||
clear_image.fill(0)
|
||||
self._cursor_texture.setSubImage(clear_image,
|
||||
self._previous_paint_texture_stroke.x(),
|
||||
self._previous_paint_texture_stroke.y())
|
||||
self._previous_paint_texture_stroke = None
|
||||
|
||||
return True
|
||||
|
||||
def addStroke(self, stroke_mask: QImage, start_x: int, start_y: int, brush_color: str, merge_with_previous: bool) -> None:
|
||||
if self._current_paint_texture is None or self._current_paint_texture.getImage() is None:
|
||||
return
|
||||
|
|
@ -111,7 +192,7 @@ class PaintView(CuraView):
|
|||
def redoStroke(self) -> None:
|
||||
self._paint_undo_stack.redo()
|
||||
|
||||
def getUvTexDimensions(self):
|
||||
def getUvTexDimensions(self) -> Tuple[int, int]:
|
||||
if self._current_paint_texture is not None:
|
||||
return self._current_paint_texture.getWidth(), self._current_paint_texture.getHeight()
|
||||
return 0, 0
|
||||
|
|
@ -121,6 +202,7 @@ class PaintView(CuraView):
|
|||
|
||||
def setPaintType(self, paint_type: str) -> None:
|
||||
self._current_paint_type = paint_type
|
||||
self._prepareDataMapping()
|
||||
|
||||
def _prepareDataMapping(self):
|
||||
node = Selection.getAllSelectedObjects()[0]
|
||||
|
|
@ -162,8 +244,17 @@ class PaintView(CuraView):
|
|||
|
||||
for node in Selection.getAllSelectedObjects():
|
||||
paint_batch.addItem(node.getWorldTransformation(copy=False), node.getMeshData(), normal_transformation=node.getCachedNormalMatrix())
|
||||
self._current_paint_texture = node.callDecoration("getPaintTexture")
|
||||
self._paint_shader.setTexture(0, self._current_paint_texture)
|
||||
paint_texture = node.callDecoration("getPaintTexture")
|
||||
if paint_texture != self._current_paint_texture:
|
||||
self._current_paint_texture = paint_texture
|
||||
self._paint_shader.setTexture(0, self._current_paint_texture)
|
||||
|
||||
self._cursor_texture = OpenGL.getInstance().createTexture(paint_texture.getWidth(), paint_texture.getHeight())
|
||||
image = QImage(paint_texture.getWidth(), paint_texture.getHeight(), QImage.Format.Format_ARGB32)
|
||||
image.fill(0)
|
||||
self._cursor_texture.setImage(image)
|
||||
self._paint_shader.setTexture(1, self._cursor_texture)
|
||||
self._previous_paint_texture_stroke = None
|
||||
|
||||
self._paint_shader.setUniformValue("u_bitsRangesStart", self._current_bits_ranges[0])
|
||||
self._paint_shader.setUniformValue("u_bitsRangesEnd", self._current_bits_ranges[1])
|
||||
|
|
|
|||
|
|
@ -30,6 +30,7 @@ fragment =
|
|||
uniform highp vec3 u_lightPosition;
|
||||
uniform highp vec3 u_viewPosition;
|
||||
uniform sampler2D u_texture;
|
||||
uniform sampler2D u_texture_cursor;
|
||||
uniform mediump int u_bitsRangesStart;
|
||||
uniform mediump int u_bitsRangesEnd;
|
||||
uniform mediump vec3 u_renderColors[16];
|
||||
|
|
@ -42,24 +43,33 @@ fragment =
|
|||
{
|
||||
mediump vec4 final_color = vec4(0.0);
|
||||
|
||||
/* Ambient Component */
|
||||
final_color += u_ambientColor;
|
||||
|
||||
highp vec3 normal = normalize(v_normal);
|
||||
highp vec3 light_dir = normalize(u_lightPosition - v_vertex);
|
||||
|
||||
/* Diffuse Component */
|
||||
ivec4 texture = ivec4(texture(u_texture, v_uvs) * 255.0);
|
||||
uint color_index = (texture.r << 16) | (texture.g << 8) | texture.b;
|
||||
color_index = (color_index << (32 - 1 - u_bitsRangesEnd)) >> 32 - 1 - (u_bitsRangesEnd - u_bitsRangesStart);
|
||||
vec4 cursor_color = texture(u_texture_cursor, v_uvs);
|
||||
if (cursor_color.a > 0.5)
|
||||
{
|
||||
/* Cursor */
|
||||
final_color.rgb = cursor_color.rgb;
|
||||
highp float n_dot_l = mix(0.7, 1.0, dot(normal, light_dir));
|
||||
final_color = (n_dot_l * final_color);
|
||||
}
|
||||
else
|
||||
{
|
||||
final_color += u_ambientColor;
|
||||
|
||||
vec4 diffuse_color = vec4(u_renderColors[color_index] / 255.0, 1.0);
|
||||
highp float n_dot_l = mix(0.3, 0.7, dot(normal, light_dir));
|
||||
final_color += (n_dot_l * diffuse_color);
|
||||
ivec4 texture_color = ivec4(texture(u_texture, v_uvs) * 255.0);
|
||||
uint color_index = (texture_color.r << 16) | (texture_color.g << 8) | texture_color.b;
|
||||
color_index = (color_index << (32 - 1 - u_bitsRangesEnd)) >> 32 - 1 - (u_bitsRangesEnd - u_bitsRangesStart);
|
||||
|
||||
vec4 diffuse_color = vec4(u_renderColors[color_index] / 255.0, 1.0);
|
||||
highp float n_dot_l = mix(0.3, 0.7, dot(normal, light_dir));
|
||||
final_color += (n_dot_l * diffuse_color);
|
||||
}
|
||||
|
||||
/* Output */
|
||||
final_color.a = 1.0;
|
||||
|
||||
frag_color = final_color;
|
||||
gl_FragColor = final_color;
|
||||
}
|
||||
|
||||
vertex41core =
|
||||
|
|
@ -95,6 +105,7 @@ fragment41core =
|
|||
uniform highp vec3 u_lightPosition;
|
||||
uniform highp vec3 u_viewPosition;
|
||||
uniform sampler2D u_texture;
|
||||
uniform sampler2D u_texture_cursor;
|
||||
uniform mediump int u_bitsRangesStart;
|
||||
uniform mediump int u_bitsRangesEnd;
|
||||
uniform mediump vec3 u_renderColors[16];
|
||||
|
|
@ -108,29 +119,39 @@ fragment41core =
|
|||
{
|
||||
mediump vec4 final_color = vec4(0.0);
|
||||
|
||||
/* Ambient Component */
|
||||
final_color += u_ambientColor;
|
||||
|
||||
highp vec3 normal = normalize(v_normal);
|
||||
highp vec3 light_dir = normalize(u_lightPosition - v_vertex);
|
||||
|
||||
/* Diffuse Component */
|
||||
ivec4 texture = ivec4(texture(u_texture, v_uvs) * 255.0);
|
||||
uint color_index = (texture.r << 16) | (texture.g << 8) | texture.b;
|
||||
color_index = (color_index << (32 - 1 - u_bitsRangesEnd)) >> 32 - 1 - (u_bitsRangesEnd - u_bitsRangesStart);
|
||||
vec4 cursor_color = texture(u_texture_cursor, v_uvs);
|
||||
if (cursor_color.a > 0.5)
|
||||
{
|
||||
/* Cursor */
|
||||
final_color.rgb = cursor_color.rgb;
|
||||
highp float n_dot_l = mix(0.7, 1.0, dot(normal, light_dir));
|
||||
final_color = (n_dot_l * final_color);
|
||||
}
|
||||
else
|
||||
{
|
||||
final_color += u_ambientColor;
|
||||
|
||||
vec4 diffuse_color = vec4(u_renderColors[color_index] / 255.0, 1.0);
|
||||
highp float n_dot_l = mix(0.3, 0.7, dot(normal, light_dir));
|
||||
final_color += (n_dot_l * diffuse_color);
|
||||
ivec4 texture_color = ivec4(texture(u_texture, v_uvs) * 255.0);
|
||||
uint color_index = (texture_color.r << 16) | (texture_color.g << 8) | texture_color.b;
|
||||
color_index = (color_index << (32 - 1 - u_bitsRangesEnd)) >> 32 - 1 - (u_bitsRangesEnd - u_bitsRangesStart);
|
||||
|
||||
vec4 diffuse_color = vec4(u_renderColors[color_index] / 255.0, 1.0);
|
||||
highp float n_dot_l = mix(0.3, 0.7, dot(normal, light_dir));
|
||||
final_color += (n_dot_l * diffuse_color);
|
||||
}
|
||||
|
||||
/* Output */
|
||||
final_color.a = 1.0;
|
||||
|
||||
frag_color = final_color;
|
||||
}
|
||||
|
||||
[defaults]
|
||||
u_ambientColor = [0.3, 0.3, 0.3, 1.0]
|
||||
u_texture = 0
|
||||
u_texture_cursor = 1
|
||||
|
||||
[bindings]
|
||||
u_modelMatrix = model_matrix
|
||||
|
|
|
|||
|
|
@ -97,8 +97,6 @@ class USBPrinterOutputDevice(PrinterOutputDevice):
|
|||
|
||||
CuraApplication.getInstance().getOnExitCallbackManager().addCallback(self._checkActivePrintingUponAppExit)
|
||||
|
||||
CuraApplication.getInstance().getPreferences().addPreference("usb_printing/enabled", False)
|
||||
|
||||
# This is a callback function that checks if there is any printing in progress via USB when the application tries
|
||||
# to exit. If so, it will show a confirmation before
|
||||
def _checkActivePrintingUponAppExit(self) -> None:
|
||||
|
|
@ -146,8 +144,6 @@ class USBPrinterOutputDevice(PrinterOutputDevice):
|
|||
|
||||
CuraApplication.getInstance().getController().setActiveStage("MonitorStage")
|
||||
|
||||
CuraApplication.getInstance().getPreferences().setValue("usb_printing/enabled", True)
|
||||
|
||||
#Find the g-code to print.
|
||||
gcode_textio = StringIO()
|
||||
gcode_writer = cast(MeshWriter, PluginRegistry.getInstance().getPluginObject("GCodeWriter"))
|
||||
|
|
|
|||
|
|
@ -20,6 +20,7 @@ from . import USBPrinterOutputDevice
|
|||
|
||||
i18n_catalog = i18nCatalog("cura")
|
||||
|
||||
USB_PRINT_PREFERENCE_KEY = "usb_printing/enabled"
|
||||
|
||||
@signalemitter
|
||||
class USBPrinterOutputDeviceManager(QObject, OutputDevicePlugin):
|
||||
|
|
@ -43,7 +44,9 @@ class USBPrinterOutputDeviceManager(QObject, OutputDevicePlugin):
|
|||
self._update_thread = threading.Thread(target = self._updateThread)
|
||||
self._update_thread.daemon = True
|
||||
|
||||
self._check_updates = True
|
||||
preferences = self._application.getPreferences()
|
||||
preferences.addPreference(USB_PRINT_PREFERENCE_KEY, False)
|
||||
self._check_updates = preferences.getValue(USB_PRINT_PREFERENCE_KEY)
|
||||
|
||||
self._application.applicationShuttingDown.connect(self.stop)
|
||||
# Because the model needs to be created in the same thread as the QMLEngine, we use a signal.
|
||||
|
|
@ -58,7 +61,7 @@ class USBPrinterOutputDeviceManager(QObject, OutputDevicePlugin):
|
|||
device.resetDeviceSettings()
|
||||
|
||||
def start(self):
|
||||
self._check_updates = True
|
||||
self._check_updates = self._application.getPreferences().getValue(USB_PRINT_PREFERENCE_KEY)
|
||||
self._update_thread.start()
|
||||
|
||||
def stop(self, store_data: bool = True):
|
||||
|
|
|
|||
|
|
@ -1427,11 +1427,10 @@
|
|||
"z_seam_corner":
|
||||
{
|
||||
"label": "Seam Corner Preference",
|
||||
"description": "Control whether corners on the model outline influence the position of the seam. None means that corners have no influence on the seam position. Hide Seam makes the seam more likely to occur on an inside corner. Expose Seam makes the seam more likely to occur on an outside corner. Hide or Expose Seam makes the seam more likely to occur at an inside or outside corner. Smart Hiding allows both inside and outside corners, but chooses inside corners more frequently, if appropriate.",
|
||||
"description": "Control how corners on the model outline influence the position of the seam. Hide Seam makes the seam more likely to occur on an inside corner. Expose Seam makes the seam more likely to occur on an outside corner. Hide or Expose Seam makes the seam more likely to occur at an inside or outside corner. Smart Hiding allows both inside and outside corners, but chooses inside corners more frequently, if appropriate.",
|
||||
"type": "enum",
|
||||
"options":
|
||||
{
|
||||
"z_seam_corner_none": "None",
|
||||
"z_seam_corner_inner": "Hide Seam",
|
||||
"z_seam_corner_outer": "Expose Seam",
|
||||
"z_seam_corner_any": "Hide or Expose Seam",
|
||||
|
|
@ -7914,6 +7913,35 @@
|
|||
"resolve": "max(extruderValues('interlocking_boundary_avoidance'))",
|
||||
"settable_per_mesh": false,
|
||||
"settable_per_extruder": false
|
||||
},
|
||||
"multi_material_paint_resolution":
|
||||
{
|
||||
"label": "Multi-material Precision",
|
||||
"description": "The precision of the details when generating multi-material shapes based on painting data. A lower precision will provide more details, but increase the slicing time and memory.",
|
||||
"unit": "mm",
|
||||
"type": "float",
|
||||
"enabled": "extruders_enabled_count > 1",
|
||||
"default_value": 0.2,
|
||||
"value": "min(line_width / 2, layer_height)",
|
||||
"minimum_value": "0.05",
|
||||
"maximum_value": "5",
|
||||
"maximum_value_warning": "line_width * 2",
|
||||
"settable_per_mesh": false,
|
||||
"settable_per_extruder": false
|
||||
},
|
||||
"multi_material_paint_deepness":
|
||||
{
|
||||
"label": "Multi-material Deepness",
|
||||
"description": "The deepness of the painted details inside the model. A higher deepness will provide a better interlocking, but increase slicing time and memory. Set a very high value to go as deep as possible. The actually calculated deepness may vary.",
|
||||
"unit": "mm",
|
||||
"type": "float",
|
||||
"enabled": "extruders_enabled_count > 1",
|
||||
"default_value": 4,
|
||||
"value": "line_width * 10",
|
||||
"minimum_value": "line_width",
|
||||
"minimum_value_warning": "line_width * 2",
|
||||
"settable_per_mesh": false,
|
||||
"settable_per_extruder": false
|
||||
}
|
||||
}
|
||||
},
|
||||
|
|
@ -8807,7 +8835,7 @@
|
|||
"value": "line_width + support_xy_distance + 1.0",
|
||||
"enabled": "bridge_settings_enabled",
|
||||
"settable_per_mesh": true,
|
||||
"settable_per_extruder": false
|
||||
"settable_per_extruder": true
|
||||
},
|
||||
"bridge_skin_support_threshold":
|
||||
{
|
||||
|
|
|
|||
|
|
@ -8,7 +8,7 @@
|
|||
"author": "Ultimaker",
|
||||
"manufacturer": "Ultimaker B.V.",
|
||||
"file_formats": "application/x-makerbot-replicator_plus",
|
||||
"platform": "ultimaker_replicator_plus_platform.3MF",
|
||||
"platform": "ultimaker_replicator_plus_platform.obj",
|
||||
"exclude_materials": [
|
||||
"dsm_",
|
||||
"Essentium_",
|
||||
|
|
@ -77,9 +77,116 @@
|
|||
"acceleration_enabled":
|
||||
{
|
||||
"enabled": false,
|
||||
"value": false
|
||||
"value": true
|
||||
},
|
||||
"acceleration_infill":
|
||||
{
|
||||
"enabled": false,
|
||||
"value": "acceleration_print"
|
||||
},
|
||||
"acceleration_layer_0":
|
||||
{
|
||||
"enabled": false,
|
||||
"value": "acceleration_print"
|
||||
},
|
||||
"acceleration_prime_tower":
|
||||
{
|
||||
"enabled": false,
|
||||
"value": "acceleration_print"
|
||||
},
|
||||
"acceleration_print":
|
||||
{
|
||||
"enabled": false,
|
||||
"value": 800
|
||||
},
|
||||
"acceleration_print_layer_0":
|
||||
{
|
||||
"enabled": false,
|
||||
"value": "acceleration_print"
|
||||
},
|
||||
"acceleration_roofing":
|
||||
{
|
||||
"enabled": false,
|
||||
"value": "acceleration_print"
|
||||
},
|
||||
"acceleration_skirt_brim":
|
||||
{
|
||||
"enabled": false,
|
||||
"value": "acceleration_print"
|
||||
},
|
||||
"acceleration_support":
|
||||
{
|
||||
"enabled": false,
|
||||
"value": "acceleration_print"
|
||||
},
|
||||
"acceleration_support_bottom":
|
||||
{
|
||||
"enabled": false,
|
||||
"value": "acceleration_support_interface"
|
||||
},
|
||||
"acceleration_support_infill":
|
||||
{
|
||||
"enabled": false,
|
||||
"value": "acceleration_support"
|
||||
},
|
||||
"acceleration_support_interface":
|
||||
{
|
||||
"enabled": false,
|
||||
"value": "acceleration_support"
|
||||
},
|
||||
"acceleration_support_roof":
|
||||
{
|
||||
"enabled": false,
|
||||
"value": "acceleration_support_interface"
|
||||
},
|
||||
"acceleration_topbottom":
|
||||
{
|
||||
"enabled": false,
|
||||
"value": "acceleration_print"
|
||||
},
|
||||
"acceleration_travel":
|
||||
{
|
||||
"enabled": false,
|
||||
"value": 5000
|
||||
},
|
||||
"acceleration_travel_enabled":
|
||||
{
|
||||
"enabled": false,
|
||||
"value": true
|
||||
},
|
||||
"acceleration_travel_layer_0":
|
||||
{
|
||||
"enabled": false,
|
||||
"value": "acceleration_travel"
|
||||
},
|
||||
"acceleration_wall":
|
||||
{
|
||||
"enabled": false,
|
||||
"value": "acceleration_print"
|
||||
},
|
||||
"acceleration_wall_0":
|
||||
{
|
||||
"enabled": false,
|
||||
"value": "acceleration_wall"
|
||||
},
|
||||
"acceleration_wall_0_roofing":
|
||||
{
|
||||
"enabled": false,
|
||||
"value": "acceleration_wall"
|
||||
},
|
||||
"acceleration_wall_x":
|
||||
{
|
||||
"enabled": false,
|
||||
"value": "acceleration_wall"
|
||||
},
|
||||
"acceleration_wall_x_roofing":
|
||||
{
|
||||
"enabled": false,
|
||||
"value": "acceleration_wall"
|
||||
},
|
||||
"adhesion_type": { "value": "'raft'" },
|
||||
"bridge_skin_speed": { "value": 40 },
|
||||
"bridge_wall_speed": { "value": 40 },
|
||||
"brim_width": { "value": "3" },
|
||||
"cool_during_extruder_switch":
|
||||
{
|
||||
|
|
@ -89,7 +196,7 @@
|
|||
"cool_fan_full_at_height": { "value": "layer_height + layer_height_0" },
|
||||
"cool_fan_speed": { "value": 100 },
|
||||
"cool_fan_speed_0": { "value": 0 },
|
||||
"cool_min_layer_time": { "value": 5 },
|
||||
"cool_min_layer_time": { "value": 7 },
|
||||
"extruder_prime_pos_abs": { "default_value": true },
|
||||
"fill_outline_gaps": { "value": true },
|
||||
"gantry_height": { "value": "60" },
|
||||
|
|
@ -110,7 +217,112 @@
|
|||
"jerk_enabled":
|
||||
{
|
||||
"enabled": false,
|
||||
"value": false
|
||||
"value": true
|
||||
},
|
||||
"jerk_infill":
|
||||
{
|
||||
"enabled": false,
|
||||
"value": "jerk_print"
|
||||
},
|
||||
"jerk_layer_0":
|
||||
{
|
||||
"enabled": false,
|
||||
"value": "jerk_print"
|
||||
},
|
||||
"jerk_prime_tower":
|
||||
{
|
||||
"enabled": false,
|
||||
"value": "jerk_print"
|
||||
},
|
||||
"jerk_print":
|
||||
{
|
||||
"enabled": false,
|
||||
"value": 4
|
||||
},
|
||||
"jerk_print_layer_0":
|
||||
{
|
||||
"enabled": false,
|
||||
"value": "jerk_print"
|
||||
},
|
||||
"jerk_roofing":
|
||||
{
|
||||
"enabled": false,
|
||||
"value": "jerk_print"
|
||||
},
|
||||
"jerk_skirt_brim":
|
||||
{
|
||||
"enabled": false,
|
||||
"value": "jerk_print"
|
||||
},
|
||||
"jerk_support":
|
||||
{
|
||||
"enabled": false,
|
||||
"value": "jerk_print"
|
||||
},
|
||||
"jerk_support_bottom":
|
||||
{
|
||||
"enabled": false,
|
||||
"value": "jerk_support_interface"
|
||||
},
|
||||
"jerk_support_infill":
|
||||
{
|
||||
"enabled": false,
|
||||
"value": "jerk_support"
|
||||
},
|
||||
"jerk_support_interface":
|
||||
{
|
||||
"enabled": false,
|
||||
"value": "jerk_support"
|
||||
},
|
||||
"jerk_support_roof":
|
||||
{
|
||||
"enabled": false,
|
||||
"value": "jerk_support_interface"
|
||||
},
|
||||
"jerk_topbottom":
|
||||
{
|
||||
"enabled": false,
|
||||
"value": "jerk_print"
|
||||
},
|
||||
"jerk_travel":
|
||||
{
|
||||
"enabled": false,
|
||||
"value": "jerk_print"
|
||||
},
|
||||
"jerk_travel_enabled":
|
||||
{
|
||||
"enabled": false,
|
||||
"value": true
|
||||
},
|
||||
"jerk_travel_layer_0":
|
||||
{
|
||||
"enabled": false,
|
||||
"value": "jerk_travel"
|
||||
},
|
||||
"jerk_wall":
|
||||
{
|
||||
"enabled": false,
|
||||
"value": "jerk_print"
|
||||
},
|
||||
"jerk_wall_0":
|
||||
{
|
||||
"enabled": false,
|
||||
"value": "jerk_print"
|
||||
},
|
||||
"jerk_wall_0_roofing":
|
||||
{
|
||||
"enabled": false,
|
||||
"value": "jerk_print"
|
||||
},
|
||||
"jerk_wall_x":
|
||||
{
|
||||
"enabled": false,
|
||||
"value": "jerk_print"
|
||||
},
|
||||
"jerk_wall_x_roofing":
|
||||
{
|
||||
"enabled": false,
|
||||
"value": "jerk_print"
|
||||
},
|
||||
"layer_height_0": { "value": "0.2 if resolveOrValue('adhesion_type') == 'raft' else 0.3" },
|
||||
"layer_start_x": { "value": "sum(extruderValues('machine_extruder_start_pos_x')) / len(extruderValues('machine_extruder_start_pos_x'))" },
|
||||
|
|
@ -178,18 +390,58 @@
|
|||
"value": "resolveOrValue('print_sequence') != 'one_at_a_time'"
|
||||
},
|
||||
"print_sequence": { "enabled": false },
|
||||
"raft_airgap": { "value": 0.3 },
|
||||
"raft_acceleration":
|
||||
{
|
||||
"enabled": false,
|
||||
"value": "acceleration_print"
|
||||
},
|
||||
"raft_airgap": { "value": 0.33 },
|
||||
"raft_base_acceleration":
|
||||
{
|
||||
"enabled": false,
|
||||
"value": "acceleration_print"
|
||||
},
|
||||
"raft_base_flow": { "value": 120 },
|
||||
"raft_base_infill_overlap": { "value": 25 },
|
||||
"raft_base_jerk":
|
||||
{
|
||||
"enabled": false,
|
||||
"value": "jerk_print"
|
||||
},
|
||||
"raft_base_line_spacing": { "value": 2.5 },
|
||||
"raft_base_line_width": { "value": 2 },
|
||||
"raft_base_thickness": { "value": 0.4 },
|
||||
"raft_interface_acceleration":
|
||||
{
|
||||
"enabled": false,
|
||||
"value": "acceleration_print"
|
||||
},
|
||||
"raft_interface_fan_speed": { "value": 0 },
|
||||
"raft_interface_infill_overlap": { "value": 25 },
|
||||
"raft_interface_jerk":
|
||||
{
|
||||
"enabled": false,
|
||||
"value": "jerk_print"
|
||||
},
|
||||
"raft_interface_wall_count": { "value": "raft_wall_count" },
|
||||
"raft_jerk":
|
||||
{
|
||||
"enabled": false,
|
||||
"value": "jerk_print"
|
||||
},
|
||||
"raft_margin": { "value": 6.5 },
|
||||
"raft_surface_acceleration":
|
||||
{
|
||||
"enabled": false,
|
||||
"value": "acceleration_print"
|
||||
},
|
||||
"raft_surface_fan_speed": { "value": 50.0 },
|
||||
"raft_surface_infill_overlap": { "value": 35 },
|
||||
"raft_surface_jerk":
|
||||
{
|
||||
"enabled": false,
|
||||
"value": "jerk_print"
|
||||
},
|
||||
"raft_surface_wall_count": { "value": "raft_wall_count" },
|
||||
"raft_wall_count": { "value": 2 },
|
||||
"retract_at_layer_change": { "value": true },
|
||||
|
|
@ -197,9 +449,9 @@
|
|||
{
|
||||
"maximum_value": 5,
|
||||
"maximum_value_warning": 2.5,
|
||||
"value": 0.5
|
||||
"value": 1.0
|
||||
},
|
||||
"retraction_combing": { "value": "'infill'" },
|
||||
"retraction_combing": { "value": "'no_outer_surfaces'" },
|
||||
"retraction_count_max":
|
||||
{
|
||||
"maximum_value": 700,
|
||||
|
|
|
|||
|
|
@ -209,14 +209,11 @@
|
|||
"value": 35
|
||||
},
|
||||
"bridge_skin_speed_2": { "value": "speed_print*2/3" },
|
||||
"bridge_sparse_infill_max_density": { "value": 50 },
|
||||
"bridge_skin_support_threshold": { "value": 20 },
|
||||
"bridge_sparse_infill_max_density": { "value": 20 },
|
||||
"bridge_wall_material_flow": { "value": 200 },
|
||||
"bridge_wall_min_length": { "value": 2 },
|
||||
"bridge_wall_speed":
|
||||
{
|
||||
"unit": "mm/s",
|
||||
"value": 50
|
||||
},
|
||||
"bridge_wall_speed": { "value": 50 },
|
||||
"build_volume_temperature":
|
||||
{
|
||||
"force_depends_on_settings": [
|
||||
|
|
@ -453,7 +450,7 @@
|
|||
"roofing_monotonic": { "value": false },
|
||||
"roofing_pattern": { "value": "'zigzag'" },
|
||||
"seam_overhang_angle": { "value": 35 },
|
||||
"skin_edge_support_thickness": { "value": 0 },
|
||||
"skin_edge_support_thickness": { "value": 0.8 },
|
||||
"skin_material_flow": { "value": 93 },
|
||||
"skin_outline_count": { "value": 0 },
|
||||
"skin_overlap": { "value": 20 },
|
||||
|
|
|
|||
|
|
@ -21,36 +21,37 @@
|
|||
},
|
||||
"overrides":
|
||||
{
|
||||
"acceleration_enabled": { "default_value": false },
|
||||
"acceleration_layer_0": { "value": 1800 },
|
||||
"acceleration_print": { "default_value": 2200 },
|
||||
"acceleration_roofing": { "value": 1800 },
|
||||
"acceleration_travel_layer_0": { "value": 1800 },
|
||||
"acceleration_wall_0": { "value": 1800 },
|
||||
"adhesion_type": { "default_value": "skirt" },
|
||||
"alternate_extra_perimeter": { "default_value": true },
|
||||
"bridge_fan_speed": { "default_value": 100 },
|
||||
"acceleration_enabled": { "default_value": true },
|
||||
"acceleration_layer_0": { "value": "math.ceil(acceleration_print / 10)" },
|
||||
"acceleration_print": { "default_value": 5000 },
|
||||
"acceleration_roofing": { "value": "math.ceil(acceleration_topbottom * 3000 / 5000) " },
|
||||
"acceleration_support": { "value": "math.ceil(acceleration_print / 2)" },
|
||||
"acceleration_travel": { "value": "acceleration_print if magic_spiralize else min(math.ceil(acceleration_print * 7000 / 5000), round((machine_max_acceleration_x + machine_max_acceleration_y) / 2, -2))" },
|
||||
"acceleration_wall_0": { "value": "math.ceil(acceleration_wall * 3000 / 5000)" },
|
||||
"adhesion_type":
|
||||
{
|
||||
"default_value": "skirt",
|
||||
"value": "'brim' if draft_shield_enabled else 'skirt'"
|
||||
},
|
||||
"bridge_fan_speed_2": { "resolve": "max(cool_fan_speed, 50)" },
|
||||
"bridge_fan_speed_3": { "resolve": "max(cool_fan_speed, 20)" },
|
||||
"bridge_settings_enabled": { "default_value": true },
|
||||
"bridge_wall_coast": { "default_value": 10 },
|
||||
"cool_fan_full_at_height": { "value": "resolveOrValue('layer_height_0') + resolveOrValue('layer_height') * max(1, cool_fan_full_layer - 1)" },
|
||||
"cool_fan_full_layer": { "value": 4 },
|
||||
"cool_fan_speed_min": { "value": "cool_fan_speed" },
|
||||
"cool_min_layer_time": { "default_value": 15 },
|
||||
"cool_min_layer_time_fan_speed_max": { "default_value": 20 },
|
||||
"fill_outline_gaps": { "default_value": true },
|
||||
"cool_min_layer_time_fan_speed_max": { "value": "cool_min_layer_time + 5" },
|
||||
"cool_min_speed": { "value": "max(round(speed_layer_0 / 2), round(speed_wall_0 * 3 / 4) if cool_lift_head else round(speed_wall_0 / 2))" },
|
||||
"gantry_height": { "value": 30 },
|
||||
"infill_before_walls": { "default_value": false },
|
||||
"infill_enable_travel_optimization": { "default_value": true },
|
||||
"jerk_enabled": { "default_value": false },
|
||||
"jerk_roofing": { "value": 10 },
|
||||
"jerk_wall_0": { "value": 10 },
|
||||
"layer_height_0": { "resolve": "max(0.2, min(extruderValues('layer_height')))" },
|
||||
"line_width": { "value": "machine_nozzle_size * 1.125" },
|
||||
"machine_acceleration": { "default_value": 1500 },
|
||||
"infill_line_width": { "value": "machine_nozzle_size * 1.5" },
|
||||
"infill_pattern": { "value": "'zigzag' if infill_sparse_density > 80 else 'gyroid'" },
|
||||
"initial_layer_line_width_factor": { "default_value": 125.0 },
|
||||
"layer_height_0": { "resolve": "max(machine_nozzle_size / 2, min(extruderValues('layer_height')))" },
|
||||
"machine_acceleration": { "default_value": 5000 },
|
||||
"machine_depth": { "default_value": 250 },
|
||||
"machine_end_gcode": { "default_value": "print_end" },
|
||||
"machine_end_gcode": { "default_value": "PRINT_END" },
|
||||
"machine_endstop_positive_direction_x": { "default_value": true },
|
||||
"machine_endstop_positive_direction_y": { "default_value": true },
|
||||
"machine_endstop_positive_direction_z": { "default_value": false },
|
||||
|
|
@ -67,16 +68,15 @@
|
|||
},
|
||||
"machine_heated_bed": { "default_value": true },
|
||||
"machine_height": { "default_value": 250 },
|
||||
"machine_max_acceleration_x": { "default_value": 1500 },
|
||||
"machine_max_acceleration_y": { "default_value": 1500 },
|
||||
"machine_max_acceleration_z": { "default_value": 250 },
|
||||
"machine_max_acceleration_x": { "default_value": 20000 },
|
||||
"machine_max_acceleration_y": { "default_value": 20000 },
|
||||
"machine_max_acceleration_z": { "default_value": 500 },
|
||||
"machine_max_feedrate_e": { "default_value": 120 },
|
||||
"machine_max_feedrate_x": { "value": 500 },
|
||||
"machine_max_feedrate_y": { "value": 500 },
|
||||
"machine_max_feedrate_z": { "default_value": 40 },
|
||||
"machine_max_jerk_e": { "default_value": 60 },
|
||||
"machine_max_jerk_xy": { "default_value": 20 },
|
||||
"machine_max_jerk_z": { "default_value": 1 },
|
||||
"machine_name": { "default_value": "VORON2" },
|
||||
"machine_start_gcode": { "default_value": ";Nozzle diameter = {machine_nozzle_size}\n;Filament type = {material_type}\n;Filament name = {material_name}\n;Filament weight = {filament_weight}\n; M190 S{material_bed_temperature_layer_0}\n; M109 S{material_print_temperature_layer_0}\nprint_start EXTRUDER={material_print_temperature_layer_0} BED={material_bed_temperature_layer_0} CHAMBER={build_volume_temperature}" },
|
||||
"machine_start_gcode": { "default_value": ";Nozzle diameter = {machine_nozzle_size}\n;Filament type = {material_type}\n;Filament name = {material_name}\n;Filament weight = {filament_weight}\n; M190 S{material_bed_temperature_layer_0}\n; M109 S{material_print_temperature_layer_0}\nPRINT_START EXTRUDER={material_print_temperature_layer_0} BED={material_bed_temperature_layer_0} CHAMBER={build_volume_temperature}" },
|
||||
"machine_steps_per_mm_x": { "default_value": 80 },
|
||||
"machine_steps_per_mm_y": { "default_value": 80 },
|
||||
"machine_steps_per_mm_z": { "default_value": 400 },
|
||||
|
|
@ -84,40 +84,36 @@
|
|||
"meshfix_maximum_resolution": { "default_value": 0.01 },
|
||||
"min_infill_area": { "default_value": 5.0 },
|
||||
"minimum_polygon_circumference": { "default_value": 0.2 },
|
||||
"optimize_wall_printing_order": { "default_value": true },
|
||||
"retraction_amount": { "default_value": 0.75 },
|
||||
"retraction_combing": { "value": "'noskin'" },
|
||||
"retraction_combing_max_distance": { "default_value": 10 },
|
||||
"retraction_hop": { "default_value": 0.2 },
|
||||
"retraction_hop_enabled": { "default_value": true },
|
||||
"retraction_prime_speed":
|
||||
"retraction_hop":
|
||||
{
|
||||
"maximum_value_warning": 130,
|
||||
"value": "math.ceil(retraction_speed * 0.4)"
|
||||
"default_value": 0.2,
|
||||
"value": "machine_nozzle_size / 2"
|
||||
},
|
||||
"retraction_retract_speed": { "maximum_value_warning": 130 },
|
||||
"retraction_hop_enabled": { "default_value": true },
|
||||
"retraction_hop_only_when_collides": { "default_value": true },
|
||||
"retraction_prime_speed": { "maximum_value_warning": "machine_max_feedrate_e - 10" },
|
||||
"retraction_retract_speed": { "maximum_value_warning": "machine_max_feedrate_e - 10" },
|
||||
"retraction_speed":
|
||||
{
|
||||
"default_value": 30,
|
||||
"maximum_value_warning": 130
|
||||
"maximum_value_warning": "machine_max_feedrate_e - 10"
|
||||
},
|
||||
"roofing_layer_count": { "value": 1 },
|
||||
"skirt_brim_minimal_length": { "default_value": 550 },
|
||||
"speed_layer_0": { "value": "math.ceil(speed_print * 0.25)" },
|
||||
"speed_roofing": { "value": "math.ceil(speed_print * 0.33)" },
|
||||
"speed_infill": { "value": "speed_print * 1.5" },
|
||||
"speed_layer_0": { "value": "speed_print * 3 / 8" },
|
||||
"speed_print": { "value": "round(6.4 / layer_height / machine_nozzle_size, -1)" },
|
||||
"speed_slowdown_layers": { "default_value": 4 },
|
||||
"speed_topbottom": { "value": "math.ceil(speed_print * 0.33)" },
|
||||
"speed_travel":
|
||||
{
|
||||
"maximum_value_warning": 501,
|
||||
"value": 300
|
||||
"maximum_value_warning": "max(500, round((machine_max_feedrate_x + machine_max_feedrate_y) / 2, -2)) + 1",
|
||||
"value": "speed_print if magic_spiralize else max(speed_print, round((machine_max_feedrate_x + machine_max_feedrate_y) / 2, -2))"
|
||||
},
|
||||
"speed_travel_layer_0": { "value": "math.ceil(speed_travel * 0.4)" },
|
||||
"speed_wall": { "value": "math.ceil(speed_print * 0.33)" },
|
||||
"speed_wall_0": { "value": "math.ceil(speed_print * 0.33)" },
|
||||
"speed_wall_x": { "value": "math.ceil(speed_print * 0.66)" },
|
||||
"travel_avoid_other_parts": { "default_value": false },
|
||||
"wall_line_width": { "value": "machine_nozzle_size" },
|
||||
"speed_z_hop": { "value": "max(10, machine_max_feedrate_z / 2)" },
|
||||
"top_bottom_thickness": { "value": "wall_thickness" },
|
||||
"wall_overhang_angle": { "default_value": 75 },
|
||||
"wall_overhang_speed_factors":
|
||||
{
|
||||
|
|
@ -125,6 +121,11 @@
|
|||
50
|
||||
]
|
||||
},
|
||||
"zig_zaggify_infill": { "value": true }
|
||||
"wall_thickness": { "value": "wall_line_width_0 + wall_line_width_x" },
|
||||
"xy_offset_layer_0": { "value": "xy_offset - 0.1" },
|
||||
"z_seam_corner": { "value": "'z_seam_corner_weighted'" },
|
||||
"z_seam_relative": { "value": "True" },
|
||||
"zig_zaggify_infill": { "value": true },
|
||||
"zig_zaggify_support": { "value": true }
|
||||
}
|
||||
}
|
||||
Binary file not shown.
|
Before Width: | Height: | Size: 329 KiB After Width: | Height: | Size: 282 KiB |
Binary file not shown.
|
Before Width: | Height: | Size: 331 KiB After Width: | Height: | Size: 304 KiB |
Binary file not shown.
|
Before Width: | Height: | Size: 336 KiB After Width: | Height: | Size: 305 KiB |
|
|
@ -0,0 +1,19 @@
|
|||
[general]
|
||||
definition = ultimaker_s8
|
||||
name = Visual
|
||||
version = 4
|
||||
|
||||
[metadata]
|
||||
intent_category = visual
|
||||
is_experimental = True
|
||||
material = generic_abs
|
||||
quality_type = high
|
||||
setting_version = 25
|
||||
type = intent
|
||||
variant = AA 0.4
|
||||
|
||||
[values]
|
||||
speed_infill = 50
|
||||
top_bottom_thickness = 1.05
|
||||
z_seam_type = back
|
||||
|
||||
|
|
@ -0,0 +1,25 @@
|
|||
[general]
|
||||
definition = ultimaker_s8
|
||||
name = Accurate
|
||||
version = 4
|
||||
|
||||
[metadata]
|
||||
intent_category = engineering
|
||||
is_experimental = True
|
||||
material = generic_abs
|
||||
quality_type = fast
|
||||
setting_version = 25
|
||||
type = intent
|
||||
variant = AA 0.4
|
||||
|
||||
[values]
|
||||
jerk_print = 6000
|
||||
speed_infill = =speed_print
|
||||
speed_print = 30
|
||||
speed_topbottom = =speed_print
|
||||
speed_wall = =speed_print
|
||||
speed_wall_0 = =speed_wall
|
||||
speed_wall_x = =speed_wall
|
||||
top_bottom_thickness = =wall_thickness
|
||||
wall_thickness = =line_width * 3
|
||||
|
||||
|
|
@ -0,0 +1,19 @@
|
|||
[general]
|
||||
definition = ultimaker_s8
|
||||
name = Visual
|
||||
version = 4
|
||||
|
||||
[metadata]
|
||||
intent_category = visual
|
||||
is_experimental = True
|
||||
material = generic_abs
|
||||
quality_type = fast
|
||||
setting_version = 25
|
||||
type = intent
|
||||
variant = AA 0.4
|
||||
|
||||
[values]
|
||||
speed_infill = 50
|
||||
top_bottom_thickness = 1.05
|
||||
z_seam_type = back
|
||||
|
||||
|
|
@ -0,0 +1,25 @@
|
|||
[general]
|
||||
definition = ultimaker_s8
|
||||
name = Accurate
|
||||
version = 4
|
||||
|
||||
[metadata]
|
||||
intent_category = engineering
|
||||
is_experimental = True
|
||||
material = generic_abs
|
||||
quality_type = normal
|
||||
setting_version = 25
|
||||
type = intent
|
||||
variant = AA 0.4
|
||||
|
||||
[values]
|
||||
jerk_print = 6000
|
||||
speed_infill = =speed_print
|
||||
speed_print = 30
|
||||
speed_topbottom = =speed_print
|
||||
speed_wall = =speed_print
|
||||
speed_wall_0 = =speed_wall
|
||||
speed_wall_x = =speed_wall
|
||||
top_bottom_thickness = =wall_thickness
|
||||
wall_thickness = =line_width * 3
|
||||
|
||||
|
|
@ -0,0 +1,19 @@
|
|||
[general]
|
||||
definition = ultimaker_s8
|
||||
name = Visual
|
||||
version = 4
|
||||
|
||||
[metadata]
|
||||
intent_category = visual
|
||||
is_experimental = True
|
||||
material = generic_abs
|
||||
quality_type = normal
|
||||
setting_version = 25
|
||||
type = intent
|
||||
variant = AA 0.4
|
||||
|
||||
[values]
|
||||
speed_infill = 50
|
||||
top_bottom_thickness = 1.05
|
||||
z_seam_type = back
|
||||
|
||||
|
|
@ -0,0 +1,24 @@
|
|||
[general]
|
||||
definition = ultimaker_s8
|
||||
name = Quick
|
||||
version = 4
|
||||
|
||||
[metadata]
|
||||
intent_category = quick
|
||||
is_experimental = True
|
||||
material = generic_abs
|
||||
quality_type = draft
|
||||
setting_version = 25
|
||||
type = intent
|
||||
variant = AA 0.4
|
||||
|
||||
[values]
|
||||
infill_sparse_density = 15
|
||||
jerk_print = 6000
|
||||
speed_infill = =speed_print
|
||||
speed_topbottom = =speed_print
|
||||
speed_wall = =speed_print
|
||||
speed_wall_0 = =speed_wall
|
||||
speed_wall_x = =speed_wall
|
||||
top_bottom_thickness = 0.8
|
||||
|
||||
|
|
@ -0,0 +1,25 @@
|
|||
[general]
|
||||
definition = ultimaker_s8
|
||||
name = Accurate
|
||||
version = 4
|
||||
|
||||
[metadata]
|
||||
intent_category = engineering
|
||||
is_experimental = True
|
||||
material = generic_cpe_plus
|
||||
quality_type = fast
|
||||
setting_version = 25
|
||||
type = intent
|
||||
variant = AA 0.4
|
||||
|
||||
[values]
|
||||
jerk_print = 6000
|
||||
speed_infill = =speed_print
|
||||
speed_print = 30
|
||||
speed_topbottom = =speed_print
|
||||
speed_wall = =speed_print
|
||||
speed_wall_0 = =speed_wall
|
||||
speed_wall_x = =speed_wall
|
||||
top_bottom_thickness = =wall_thickness
|
||||
wall_thickness = =line_width * 3
|
||||
|
||||
|
|
@ -0,0 +1,25 @@
|
|||
[general]
|
||||
definition = ultimaker_s8
|
||||
name = Accurate
|
||||
version = 4
|
||||
|
||||
[metadata]
|
||||
intent_category = engineering
|
||||
is_experimental = True
|
||||
material = generic_cpe_plus
|
||||
quality_type = normal
|
||||
setting_version = 25
|
||||
type = intent
|
||||
variant = AA 0.4
|
||||
|
||||
[values]
|
||||
jerk_print = 6000
|
||||
speed_infill = =speed_print
|
||||
speed_print = 30
|
||||
speed_topbottom = =speed_print
|
||||
speed_wall = =speed_print
|
||||
speed_wall_0 = =speed_wall
|
||||
speed_wall_x = =speed_wall
|
||||
top_bottom_thickness = =wall_thickness
|
||||
wall_thickness = =line_width * 3
|
||||
|
||||
|
|
@ -0,0 +1,25 @@
|
|||
[general]
|
||||
definition = ultimaker_s8
|
||||
name = Accurate
|
||||
version = 4
|
||||
|
||||
[metadata]
|
||||
intent_category = engineering
|
||||
is_experimental = True
|
||||
material = generic_cpe
|
||||
quality_type = fast
|
||||
setting_version = 25
|
||||
type = intent
|
||||
variant = AA 0.4
|
||||
|
||||
[values]
|
||||
jerk_print = 6000
|
||||
speed_infill = =speed_print
|
||||
speed_print = 30
|
||||
speed_topbottom = =speed_print
|
||||
speed_wall = =speed_print
|
||||
speed_wall_0 = =speed_wall
|
||||
speed_wall_x = =speed_wall
|
||||
top_bottom_thickness = =wall_thickness
|
||||
wall_thickness = =line_width * 3
|
||||
|
||||
|
|
@ -0,0 +1,25 @@
|
|||
[general]
|
||||
definition = ultimaker_s8
|
||||
name = Accurate
|
||||
version = 4
|
||||
|
||||
[metadata]
|
||||
intent_category = engineering
|
||||
is_experimental = True
|
||||
material = generic_cpe
|
||||
quality_type = normal
|
||||
setting_version = 25
|
||||
type = intent
|
||||
variant = AA 0.4
|
||||
|
||||
[values]
|
||||
jerk_print = 6000
|
||||
speed_infill = =speed_print
|
||||
speed_print = 30
|
||||
speed_topbottom = =speed_print
|
||||
speed_wall = =speed_print
|
||||
speed_wall_0 = =speed_wall
|
||||
speed_wall_x = =speed_wall
|
||||
top_bottom_thickness = =wall_thickness
|
||||
wall_thickness = =line_width * 3
|
||||
|
||||
|
|
@ -0,0 +1,25 @@
|
|||
[general]
|
||||
definition = ultimaker_s8
|
||||
name = Accurate
|
||||
version = 4
|
||||
|
||||
[metadata]
|
||||
intent_category = engineering
|
||||
is_experimental = True
|
||||
material = generic_nylon
|
||||
quality_type = fast
|
||||
setting_version = 25
|
||||
type = intent
|
||||
variant = AA 0.4
|
||||
|
||||
[values]
|
||||
jerk_print = 6000
|
||||
speed_infill = =speed_print
|
||||
speed_print = 30
|
||||
speed_topbottom = =speed_print
|
||||
speed_wall = =speed_print
|
||||
speed_wall_0 = =speed_wall
|
||||
speed_wall_x = =speed_wall
|
||||
top_bottom_thickness = =wall_thickness
|
||||
wall_thickness = =line_width * 3
|
||||
|
||||
|
|
@ -0,0 +1,25 @@
|
|||
[general]
|
||||
definition = ultimaker_s8
|
||||
name = Accurate
|
||||
version = 4
|
||||
|
||||
[metadata]
|
||||
intent_category = engineering
|
||||
is_experimental = True
|
||||
material = generic_nylon
|
||||
quality_type = normal
|
||||
setting_version = 25
|
||||
type = intent
|
||||
variant = AA 0.4
|
||||
|
||||
[values]
|
||||
jerk_print = 6000
|
||||
speed_infill = =speed_print
|
||||
speed_print = 30
|
||||
speed_topbottom = =speed_print
|
||||
speed_wall = =speed_print
|
||||
speed_wall_0 = =speed_wall
|
||||
speed_wall_x = =speed_wall
|
||||
top_bottom_thickness = =wall_thickness
|
||||
wall_thickness = =line_width * 3
|
||||
|
||||
|
|
@ -0,0 +1,25 @@
|
|||
[general]
|
||||
definition = ultimaker_s8
|
||||
name = Accurate
|
||||
version = 4
|
||||
|
||||
[metadata]
|
||||
intent_category = engineering
|
||||
is_experimental = True
|
||||
material = generic_pc
|
||||
quality_type = fast
|
||||
setting_version = 25
|
||||
type = intent
|
||||
variant = AA 0.4
|
||||
|
||||
[values]
|
||||
jerk_print = 6000
|
||||
speed_infill = =speed_print
|
||||
speed_print = 30
|
||||
speed_topbottom = =speed_print
|
||||
speed_wall = =speed_print
|
||||
speed_wall_0 = =speed_wall
|
||||
speed_wall_x = =speed_wall
|
||||
top_bottom_thickness = =wall_thickness
|
||||
wall_thickness = =line_width * 3
|
||||
|
||||
|
|
@ -0,0 +1,25 @@
|
|||
[general]
|
||||
definition = ultimaker_s8
|
||||
name = Accurate
|
||||
version = 4
|
||||
|
||||
[metadata]
|
||||
intent_category = engineering
|
||||
is_experimental = True
|
||||
material = generic_pc
|
||||
quality_type = normal
|
||||
setting_version = 25
|
||||
type = intent
|
||||
variant = AA 0.4
|
||||
|
||||
[values]
|
||||
jerk_print = 6000
|
||||
speed_infill = =speed_print
|
||||
speed_print = 30
|
||||
speed_topbottom = =speed_print
|
||||
speed_wall = =speed_print
|
||||
speed_wall_0 = =speed_wall
|
||||
speed_wall_x = =speed_wall
|
||||
top_bottom_thickness = =wall_thickness
|
||||
wall_thickness = =line_width * 3
|
||||
|
||||
|
|
@ -0,0 +1,25 @@
|
|||
[general]
|
||||
definition = ultimaker_s8
|
||||
name = Accurate
|
||||
version = 4
|
||||
|
||||
[metadata]
|
||||
intent_category = engineering
|
||||
is_experimental = True
|
||||
material = generic_petg
|
||||
quality_type = fast
|
||||
setting_version = 25
|
||||
type = intent
|
||||
variant = AA 0.4
|
||||
|
||||
[values]
|
||||
jerk_print = 6000
|
||||
speed_infill = =speed_print
|
||||
speed_print = 30
|
||||
speed_topbottom = =speed_print
|
||||
speed_wall = =speed_print
|
||||
speed_wall_0 = =speed_wall
|
||||
speed_wall_x = =speed_wall
|
||||
top_bottom_thickness = =wall_thickness
|
||||
wall_thickness = =line_width * 3
|
||||
|
||||
|
|
@ -0,0 +1,25 @@
|
|||
[general]
|
||||
definition = ultimaker_s8
|
||||
name = Accurate
|
||||
version = 4
|
||||
|
||||
[metadata]
|
||||
intent_category = engineering
|
||||
is_experimental = True
|
||||
material = generic_petg
|
||||
quality_type = normal
|
||||
setting_version = 25
|
||||
type = intent
|
||||
variant = AA 0.4
|
||||
|
||||
[values]
|
||||
jerk_print = 6000
|
||||
speed_infill = =speed_print
|
||||
speed_print = 30
|
||||
speed_topbottom = =speed_print
|
||||
speed_wall = =speed_print
|
||||
speed_wall_0 = =speed_wall
|
||||
speed_wall_x = =speed_wall
|
||||
top_bottom_thickness = =wall_thickness
|
||||
wall_thickness = =line_width * 3
|
||||
|
||||
|
|
@ -0,0 +1,19 @@
|
|||
[general]
|
||||
definition = ultimaker_s8
|
||||
name = Visual
|
||||
version = 4
|
||||
|
||||
[metadata]
|
||||
intent_category = visual
|
||||
is_experimental = True
|
||||
material = generic_pla
|
||||
quality_type = high
|
||||
setting_version = 25
|
||||
type = intent
|
||||
variant = AA 0.4
|
||||
|
||||
[values]
|
||||
speed_infill = 50
|
||||
top_bottom_thickness = 1.05
|
||||
z_seam_type = back
|
||||
|
||||
|
|
@ -0,0 +1,25 @@
|
|||
[general]
|
||||
definition = ultimaker_s8
|
||||
name = Accurate
|
||||
version = 4
|
||||
|
||||
[metadata]
|
||||
intent_category = engineering
|
||||
is_experimental = True
|
||||
material = generic_pla
|
||||
quality_type = fast
|
||||
setting_version = 25
|
||||
type = intent
|
||||
variant = AA 0.4
|
||||
|
||||
[values]
|
||||
jerk_print = 6000
|
||||
speed_infill = =speed_print
|
||||
speed_print = 30
|
||||
speed_topbottom = =speed_print
|
||||
speed_wall = =speed_print
|
||||
speed_wall_0 = =speed_wall
|
||||
speed_wall_x = =speed_wall
|
||||
top_bottom_thickness = =wall_thickness
|
||||
wall_thickness = =line_width * 3
|
||||
|
||||
|
|
@ -0,0 +1,19 @@
|
|||
[general]
|
||||
definition = ultimaker_s8
|
||||
name = Visual
|
||||
version = 4
|
||||
|
||||
[metadata]
|
||||
intent_category = visual
|
||||
is_experimental = True
|
||||
material = generic_pla
|
||||
quality_type = fast
|
||||
setting_version = 25
|
||||
type = intent
|
||||
variant = AA 0.4
|
||||
|
||||
[values]
|
||||
speed_infill = 50
|
||||
top_bottom_thickness = 1.05
|
||||
z_seam_type = back
|
||||
|
||||
|
|
@ -0,0 +1,25 @@
|
|||
[general]
|
||||
definition = ultimaker_s8
|
||||
name = Accurate
|
||||
version = 4
|
||||
|
||||
[metadata]
|
||||
intent_category = engineering
|
||||
is_experimental = True
|
||||
material = generic_pla
|
||||
quality_type = normal
|
||||
setting_version = 25
|
||||
type = intent
|
||||
variant = AA 0.4
|
||||
|
||||
[values]
|
||||
jerk_print = 6000
|
||||
speed_infill = =speed_print
|
||||
speed_print = 30
|
||||
speed_topbottom = =speed_print
|
||||
speed_wall = =speed_print
|
||||
speed_wall_0 = =speed_wall
|
||||
speed_wall_x = =speed_wall
|
||||
top_bottom_thickness = =wall_thickness
|
||||
wall_thickness = =line_width * 3
|
||||
|
||||
|
|
@ -0,0 +1,19 @@
|
|||
[general]
|
||||
definition = ultimaker_s8
|
||||
name = Visual
|
||||
version = 4
|
||||
|
||||
[metadata]
|
||||
intent_category = visual
|
||||
is_experimental = True
|
||||
material = generic_pla
|
||||
quality_type = normal
|
||||
setting_version = 25
|
||||
type = intent
|
||||
variant = AA 0.4
|
||||
|
||||
[values]
|
||||
speed_infill = 50
|
||||
top_bottom_thickness = 1.05
|
||||
z_seam_type = back
|
||||
|
||||
|
|
@ -0,0 +1,24 @@
|
|||
[general]
|
||||
definition = ultimaker_s8
|
||||
name = Quick
|
||||
version = 4
|
||||
|
||||
[metadata]
|
||||
intent_category = quick
|
||||
is_experimental = True
|
||||
material = generic_pla
|
||||
quality_type = draft
|
||||
setting_version = 25
|
||||
type = intent
|
||||
variant = AA 0.4
|
||||
|
||||
[values]
|
||||
infill_sparse_density = 15
|
||||
jerk_print = 6000
|
||||
speed_infill = =speed_print
|
||||
speed_topbottom = =speed_print
|
||||
speed_wall = =speed_print
|
||||
speed_wall_0 = =speed_wall
|
||||
speed_wall_x = =speed_wall
|
||||
top_bottom_thickness = 0.8
|
||||
|
||||
|
|
@ -0,0 +1,28 @@
|
|||
[general]
|
||||
definition = ultimaker_s8
|
||||
name = Quick
|
||||
version = 4
|
||||
|
||||
[metadata]
|
||||
intent_category = quick
|
||||
is_experimental = True
|
||||
material = generic_pla
|
||||
quality_type = verydraft
|
||||
setting_version = 25
|
||||
type = intent
|
||||
variant = AA 0.4
|
||||
|
||||
[values]
|
||||
acceleration_print = 4000
|
||||
acceleration_wall = 2000
|
||||
acceleration_wall_0 = 2000
|
||||
infill_sparse_density = 10
|
||||
jerk_print = 6000
|
||||
speed_infill = =speed_print
|
||||
speed_print = 50
|
||||
speed_topbottom = =speed_print
|
||||
speed_wall = =speed_print
|
||||
speed_wall_0 = =speed_wall
|
||||
speed_wall_x = =speed_wall
|
||||
top_bottom_thickness = 0.8
|
||||
|
||||
|
|
@ -0,0 +1,19 @@
|
|||
[general]
|
||||
definition = ultimaker_s8
|
||||
name = Visual
|
||||
version = 4
|
||||
|
||||
[metadata]
|
||||
intent_category = visual
|
||||
is_experimental = True
|
||||
material = generic_tough_pla
|
||||
quality_type = high
|
||||
setting_version = 25
|
||||
type = intent
|
||||
variant = AA 0.4
|
||||
|
||||
[values]
|
||||
speed_infill = 50
|
||||
top_bottom_thickness = 1.05
|
||||
z_seam_type = back
|
||||
|
||||
|
|
@ -0,0 +1,25 @@
|
|||
[general]
|
||||
definition = ultimaker_s8
|
||||
name = Accurate
|
||||
version = 4
|
||||
|
||||
[metadata]
|
||||
intent_category = engineering
|
||||
is_experimental = True
|
||||
material = generic_tough_pla
|
||||
quality_type = fast
|
||||
setting_version = 25
|
||||
type = intent
|
||||
variant = AA 0.4
|
||||
|
||||
[values]
|
||||
jerk_print = 6000
|
||||
speed_infill = =speed_print
|
||||
speed_print = 30
|
||||
speed_topbottom = =speed_print
|
||||
speed_wall = =speed_print
|
||||
speed_wall_0 = =speed_wall
|
||||
speed_wall_x = =speed_wall
|
||||
top_bottom_thickness = =wall_thickness
|
||||
wall_thickness = =line_width * 3
|
||||
|
||||
|
|
@ -0,0 +1,19 @@
|
|||
[general]
|
||||
definition = ultimaker_s8
|
||||
name = Visual
|
||||
version = 4
|
||||
|
||||
[metadata]
|
||||
intent_category = visual
|
||||
is_experimental = True
|
||||
material = generic_tough_pla
|
||||
quality_type = fast
|
||||
setting_version = 25
|
||||
type = intent
|
||||
variant = AA 0.4
|
||||
|
||||
[values]
|
||||
speed_infill = 50
|
||||
top_bottom_thickness = 1.05
|
||||
z_seam_type = back
|
||||
|
||||
|
|
@ -0,0 +1,25 @@
|
|||
[general]
|
||||
definition = ultimaker_s8
|
||||
name = Accurate
|
||||
version = 4
|
||||
|
||||
[metadata]
|
||||
intent_category = engineering
|
||||
is_experimental = True
|
||||
material = generic_tough_pla
|
||||
quality_type = normal
|
||||
setting_version = 25
|
||||
type = intent
|
||||
variant = AA 0.4
|
||||
|
||||
[values]
|
||||
jerk_print = 6000
|
||||
speed_infill = =speed_print
|
||||
speed_print = 30
|
||||
speed_topbottom = =speed_print
|
||||
speed_wall = =speed_print
|
||||
speed_wall_0 = =speed_wall
|
||||
speed_wall_x = =speed_wall
|
||||
top_bottom_thickness = =wall_thickness
|
||||
wall_thickness = =line_width * 3
|
||||
|
||||
|
|
@ -0,0 +1,19 @@
|
|||
[general]
|
||||
definition = ultimaker_s8
|
||||
name = Visual
|
||||
version = 4
|
||||
|
||||
[metadata]
|
||||
intent_category = visual
|
||||
is_experimental = True
|
||||
material = generic_tough_pla
|
||||
quality_type = normal
|
||||
setting_version = 25
|
||||
type = intent
|
||||
variant = AA 0.4
|
||||
|
||||
[values]
|
||||
speed_infill = 50
|
||||
top_bottom_thickness = 1.05
|
||||
z_seam_type = back
|
||||
|
||||
|
|
@ -0,0 +1,24 @@
|
|||
[general]
|
||||
definition = ultimaker_s8
|
||||
name = Quick
|
||||
version = 4
|
||||
|
||||
[metadata]
|
||||
intent_category = quick
|
||||
is_experimental = True
|
||||
material = generic_tough_pla
|
||||
quality_type = draft
|
||||
setting_version = 25
|
||||
type = intent
|
||||
variant = AA 0.4
|
||||
|
||||
[values]
|
||||
infill_sparse_density = 15
|
||||
jerk_print = 6000
|
||||
speed_infill = =speed_print
|
||||
speed_topbottom = =speed_print
|
||||
speed_wall = =speed_print
|
||||
speed_wall_0 = =speed_wall
|
||||
speed_wall_x = =speed_wall
|
||||
top_bottom_thickness = 0.8
|
||||
|
||||
|
|
@ -0,0 +1,28 @@
|
|||
[general]
|
||||
definition = ultimaker_s8
|
||||
name = Quick
|
||||
version = 4
|
||||
|
||||
[metadata]
|
||||
intent_category = quick
|
||||
is_experimental = True
|
||||
material = generic_tough_pla
|
||||
quality_type = verydraft
|
||||
setting_version = 25
|
||||
type = intent
|
||||
variant = AA 0.4
|
||||
|
||||
[values]
|
||||
acceleration_print = 4000
|
||||
acceleration_wall = 2000
|
||||
acceleration_wall_0 = 2000
|
||||
infill_sparse_density = 10
|
||||
jerk_print = 6000
|
||||
speed_infill = =speed_print
|
||||
speed_print = 50
|
||||
speed_topbottom = =speed_print
|
||||
speed_wall = =speed_print
|
||||
speed_wall_0 = =speed_wall
|
||||
speed_wall_x = =speed_wall
|
||||
top_bottom_thickness = 0.8
|
||||
|
||||
|
|
@ -0,0 +1,27 @@
|
|||
[general]
|
||||
definition = ultimaker_s8
|
||||
name = Visual
|
||||
version = 4
|
||||
|
||||
[metadata]
|
||||
intent_category = visual
|
||||
is_experimental = True
|
||||
material = ultimaker_abs
|
||||
quality_type = high
|
||||
setting_version = 25
|
||||
type = intent
|
||||
variant = AA 0.4
|
||||
|
||||
[values]
|
||||
acceleration_print = 2500
|
||||
acceleration_wall_0 = 1000
|
||||
inset_direction = inside_out
|
||||
jerk_wall_0 = 4000
|
||||
max_flow_acceleration = 0.5
|
||||
speed_print = 50
|
||||
speed_roofing = =math.ceil(speed_wall*(35/50))
|
||||
speed_wall_0 = =math.ceil(speed_wall*(20/50))
|
||||
speed_wall_x = =math.ceil(speed_wall*(35/50))
|
||||
top_bottom_thickness = =max(1.2 , layer_height * 6)
|
||||
z_seam_type = back
|
||||
|
||||
|
|
@ -0,0 +1,29 @@
|
|||
[general]
|
||||
definition = ultimaker_s8
|
||||
name = Accurate
|
||||
version = 4
|
||||
|
||||
[metadata]
|
||||
intent_category = engineering
|
||||
is_experimental = True
|
||||
material = ultimaker_abs
|
||||
quality_type = fast
|
||||
setting_version = 25
|
||||
type = intent
|
||||
variant = AA 0.4
|
||||
|
||||
[values]
|
||||
infill_pattern = ='zigzag' if infill_sparse_density > 80 else 'triangles'
|
||||
infill_sparse_density = 20
|
||||
jerk_print = 6000
|
||||
max_flow_acceleration = 1
|
||||
speed_infill = =speed_print
|
||||
speed_print = 35
|
||||
speed_roofing = =speed_topbottom
|
||||
speed_topbottom = =speed_print
|
||||
speed_wall = =speed_print
|
||||
speed_wall_0 = =speed_wall
|
||||
speed_wall_x = =speed_wall
|
||||
top_bottom_thickness = =wall_thickness
|
||||
wall_thickness = =line_width * 3
|
||||
|
||||
|
|
@ -0,0 +1,27 @@
|
|||
[general]
|
||||
definition = ultimaker_s8
|
||||
name = Visual
|
||||
version = 4
|
||||
|
||||
[metadata]
|
||||
intent_category = visual
|
||||
is_experimental = True
|
||||
material = ultimaker_abs
|
||||
quality_type = fast
|
||||
setting_version = 25
|
||||
type = intent
|
||||
variant = AA 0.4
|
||||
|
||||
[values]
|
||||
acceleration_print = 2500
|
||||
acceleration_wall_0 = 1000
|
||||
inset_direction = inside_out
|
||||
jerk_wall_0 = 4000
|
||||
max_flow_acceleration = 0.5
|
||||
speed_print = 50
|
||||
speed_roofing = =math.ceil(speed_wall*(35/50))
|
||||
speed_wall_0 = =math.ceil(speed_wall*(20/50))
|
||||
speed_wall_x = =math.ceil(speed_wall*(35/50))
|
||||
top_bottom_thickness = =max(1.2 , layer_height * 6)
|
||||
z_seam_type = back
|
||||
|
||||
|
|
@ -0,0 +1,29 @@
|
|||
[general]
|
||||
definition = ultimaker_s8
|
||||
name = Accurate
|
||||
version = 4
|
||||
|
||||
[metadata]
|
||||
intent_category = engineering
|
||||
is_experimental = True
|
||||
material = ultimaker_abs
|
||||
quality_type = normal
|
||||
setting_version = 25
|
||||
type = intent
|
||||
variant = AA 0.4
|
||||
|
||||
[values]
|
||||
infill_pattern = ='zigzag' if infill_sparse_density > 80 else 'triangles'
|
||||
infill_sparse_density = 20
|
||||
jerk_print = 6000
|
||||
max_flow_acceleration = 1
|
||||
speed_infill = =speed_print
|
||||
speed_print = 35
|
||||
speed_roofing = =speed_topbottom
|
||||
speed_topbottom = =speed_print
|
||||
speed_wall = =speed_print
|
||||
speed_wall_0 = =speed_wall
|
||||
speed_wall_x = =speed_wall
|
||||
top_bottom_thickness = =wall_thickness
|
||||
wall_thickness = =line_width * 3
|
||||
|
||||
|
|
@ -0,0 +1,27 @@
|
|||
[general]
|
||||
definition = ultimaker_s8
|
||||
name = Visual
|
||||
version = 4
|
||||
|
||||
[metadata]
|
||||
intent_category = visual
|
||||
is_experimental = True
|
||||
material = ultimaker_abs
|
||||
quality_type = normal
|
||||
setting_version = 25
|
||||
type = intent
|
||||
variant = AA 0.4
|
||||
|
||||
[values]
|
||||
acceleration_print = 2500
|
||||
acceleration_wall_0 = 1000
|
||||
inset_direction = inside_out
|
||||
jerk_wall_0 = 4000
|
||||
max_flow_acceleration = 0.5
|
||||
speed_print = 50
|
||||
speed_roofing = =math.ceil(speed_wall*(35/50))
|
||||
speed_wall_0 = =math.ceil(speed_wall*(20/50))
|
||||
speed_wall_x = =math.ceil(speed_wall*(35/50))
|
||||
top_bottom_thickness = =max(1.2 , layer_height * 6)
|
||||
z_seam_type = back
|
||||
|
||||
|
|
@ -0,0 +1,29 @@
|
|||
[general]
|
||||
definition = ultimaker_s8
|
||||
name = Accurate
|
||||
version = 4
|
||||
|
||||
[metadata]
|
||||
intent_category = engineering
|
||||
is_experimental = True
|
||||
material = ultimaker_abs
|
||||
quality_type = draft
|
||||
setting_version = 25
|
||||
type = intent
|
||||
variant = AA 0.4
|
||||
|
||||
[values]
|
||||
infill_pattern = ='zigzag' if infill_sparse_density > 80 else 'triangles'
|
||||
infill_sparse_density = 20
|
||||
jerk_print = 6000
|
||||
max_flow_acceleration = 1
|
||||
speed_infill = =speed_print
|
||||
speed_print = 35
|
||||
speed_roofing = =speed_topbottom
|
||||
speed_topbottom = =speed_print
|
||||
speed_wall = =speed_print
|
||||
speed_wall_0 = =speed_wall
|
||||
speed_wall_x = =speed_wall
|
||||
top_bottom_thickness = =wall_thickness
|
||||
wall_thickness = =line_width * 3
|
||||
|
||||
|
|
@ -0,0 +1,28 @@
|
|||
[general]
|
||||
definition = ultimaker_s8
|
||||
name = Quick
|
||||
version = 4
|
||||
|
||||
[metadata]
|
||||
intent_category = quick
|
||||
is_experimental = True
|
||||
material = ultimaker_abs
|
||||
quality_type = draft
|
||||
setting_version = 25
|
||||
type = intent
|
||||
variant = AA 0.4
|
||||
|
||||
[values]
|
||||
acceleration_wall_0 = 2000
|
||||
gradual_flow_enabled = False
|
||||
gradual_infill_step_height = =4 * layer_height
|
||||
gradual_infill_steps = 3
|
||||
infill_sparse_density = 40
|
||||
jerk_print = 6000
|
||||
jerk_wall_0 = 6000
|
||||
speed_print = 150
|
||||
speed_wall = =speed_print
|
||||
speed_wall_0 = 40
|
||||
top_bottom_thickness = =4 * layer_height
|
||||
wall_thickness = =2 * line_width
|
||||
|
||||
|
|
@ -0,0 +1,27 @@
|
|||
[general]
|
||||
definition = ultimaker_s8
|
||||
name = Visual
|
||||
version = 4
|
||||
|
||||
[metadata]
|
||||
intent_category = visual
|
||||
is_experimental = True
|
||||
material = ultimaker_abs
|
||||
quality_type = draft
|
||||
setting_version = 25
|
||||
type = intent
|
||||
variant = AA 0.4
|
||||
|
||||
[values]
|
||||
acceleration_print = 2500
|
||||
acceleration_wall_0 = 1000
|
||||
inset_direction = inside_out
|
||||
jerk_wall_0 = 4000
|
||||
max_flow_acceleration = 0.5
|
||||
speed_print = 50
|
||||
speed_roofing = =math.ceil(speed_wall*(35/50))
|
||||
speed_wall_0 = =math.ceil(speed_wall*(20/50))
|
||||
speed_wall_x = =math.ceil(speed_wall*(35/50))
|
||||
top_bottom_thickness = =max(1.2 , layer_height * 6)
|
||||
z_seam_type = back
|
||||
|
||||
|
|
@ -0,0 +1,28 @@
|
|||
[general]
|
||||
definition = ultimaker_s8
|
||||
name = Quick
|
||||
version = 4
|
||||
|
||||
[metadata]
|
||||
intent_category = quick
|
||||
is_experimental = True
|
||||
material = ultimaker_abs
|
||||
quality_type = verydraft
|
||||
setting_version = 25
|
||||
type = intent
|
||||
variant = AA 0.4
|
||||
|
||||
[values]
|
||||
acceleration_wall_0 = 2000
|
||||
gradual_flow_enabled = False
|
||||
gradual_infill_step_height = =4 * layer_height
|
||||
gradual_infill_steps = 3
|
||||
infill_sparse_density = 40
|
||||
jerk_print = 6000
|
||||
jerk_wall_0 = 6000
|
||||
speed_print = 150
|
||||
speed_wall = =speed_print
|
||||
speed_wall_0 = 40
|
||||
top_bottom_thickness = =4 * layer_height
|
||||
wall_thickness = =2 * line_width
|
||||
|
||||
|
|
@ -0,0 +1,27 @@
|
|||
[general]
|
||||
definition = ultimaker_s8
|
||||
name = Visual
|
||||
version = 4
|
||||
|
||||
[metadata]
|
||||
intent_category = visual
|
||||
is_experimental = True
|
||||
material = ultimaker_petg
|
||||
quality_type = high
|
||||
setting_version = 25
|
||||
type = intent
|
||||
variant = AA 0.4
|
||||
|
||||
[values]
|
||||
acceleration_print = 2500
|
||||
acceleration_wall_0 = 1000
|
||||
inset_direction = inside_out
|
||||
jerk_wall_0 = 4000
|
||||
max_flow_acceleration = 0.5
|
||||
speed_print = 50
|
||||
speed_roofing = =math.ceil(speed_wall*(35/50))
|
||||
speed_wall_0 = =math.ceil(speed_wall*(20/50))
|
||||
speed_wall_x = =math.ceil(speed_wall*(35/50))
|
||||
top_bottom_thickness = =max(1.2 , layer_height * 6)
|
||||
z_seam_type = back
|
||||
|
||||
|
|
@ -0,0 +1,29 @@
|
|||
[general]
|
||||
definition = ultimaker_s8
|
||||
name = Accurate
|
||||
version = 4
|
||||
|
||||
[metadata]
|
||||
intent_category = engineering
|
||||
is_experimental = True
|
||||
material = ultimaker_petg
|
||||
quality_type = fast
|
||||
setting_version = 25
|
||||
type = intent
|
||||
variant = AA 0.4
|
||||
|
||||
[values]
|
||||
infill_pattern = ='zigzag' if infill_sparse_density > 80 else 'triangles'
|
||||
infill_sparse_density = 20
|
||||
jerk_print = 6000
|
||||
max_flow_acceleration = 1
|
||||
speed_infill = =speed_print
|
||||
speed_print = 35
|
||||
speed_roofing = =speed_topbottom
|
||||
speed_topbottom = =speed_print
|
||||
speed_wall = =speed_print
|
||||
speed_wall_0 = =speed_wall
|
||||
speed_wall_x = =speed_wall
|
||||
top_bottom_thickness = =wall_thickness
|
||||
wall_thickness = =line_width * 3
|
||||
|
||||
|
|
@ -0,0 +1,27 @@
|
|||
[general]
|
||||
definition = ultimaker_s8
|
||||
name = Visual
|
||||
version = 4
|
||||
|
||||
[metadata]
|
||||
intent_category = visual
|
||||
is_experimental = True
|
||||
material = ultimaker_petg
|
||||
quality_type = fast
|
||||
setting_version = 25
|
||||
type = intent
|
||||
variant = AA 0.4
|
||||
|
||||
[values]
|
||||
acceleration_print = 2500
|
||||
acceleration_wall_0 = 1000
|
||||
inset_direction = inside_out
|
||||
jerk_wall_0 = 4000
|
||||
max_flow_acceleration = 0.5
|
||||
speed_print = 50
|
||||
speed_roofing = =math.ceil(speed_wall*(35/50))
|
||||
speed_wall_0 = =math.ceil(speed_wall*(20/50))
|
||||
speed_wall_x = =math.ceil(speed_wall*(35/50))
|
||||
top_bottom_thickness = =max(1.2 , layer_height * 6)
|
||||
z_seam_type = back
|
||||
|
||||
|
|
@ -0,0 +1,29 @@
|
|||
[general]
|
||||
definition = ultimaker_s8
|
||||
name = Accurate
|
||||
version = 4
|
||||
|
||||
[metadata]
|
||||
intent_category = engineering
|
||||
is_experimental = True
|
||||
material = ultimaker_petg
|
||||
quality_type = normal
|
||||
setting_version = 25
|
||||
type = intent
|
||||
variant = AA 0.4
|
||||
|
||||
[values]
|
||||
infill_pattern = ='zigzag' if infill_sparse_density > 80 else 'triangles'
|
||||
infill_sparse_density = 20
|
||||
jerk_print = 6000
|
||||
max_flow_acceleration = 1
|
||||
speed_infill = =speed_print
|
||||
speed_print = 35
|
||||
speed_roofing = =speed_topbottom
|
||||
speed_topbottom = =speed_print
|
||||
speed_wall = =speed_print
|
||||
speed_wall_0 = =speed_wall
|
||||
speed_wall_x = =speed_wall
|
||||
top_bottom_thickness = =wall_thickness
|
||||
wall_thickness = =line_width * 3
|
||||
|
||||
|
|
@ -0,0 +1,27 @@
|
|||
[general]
|
||||
definition = ultimaker_s8
|
||||
name = Visual
|
||||
version = 4
|
||||
|
||||
[metadata]
|
||||
intent_category = visual
|
||||
is_experimental = True
|
||||
material = ultimaker_petg
|
||||
quality_type = normal
|
||||
setting_version = 25
|
||||
type = intent
|
||||
variant = AA 0.4
|
||||
|
||||
[values]
|
||||
acceleration_print = 2500
|
||||
acceleration_wall_0 = 1000
|
||||
inset_direction = inside_out
|
||||
jerk_wall_0 = 4000
|
||||
max_flow_acceleration = 0.5
|
||||
speed_print = 50
|
||||
speed_roofing = =math.ceil(speed_wall*(35/50))
|
||||
speed_wall_0 = =math.ceil(speed_wall*(20/50))
|
||||
speed_wall_x = =math.ceil(speed_wall*(35/50))
|
||||
top_bottom_thickness = =max(1.2 , layer_height * 6)
|
||||
z_seam_type = back
|
||||
|
||||
|
|
@ -0,0 +1,29 @@
|
|||
[general]
|
||||
definition = ultimaker_s8
|
||||
name = Accurate
|
||||
version = 4
|
||||
|
||||
[metadata]
|
||||
intent_category = engineering
|
||||
is_experimental = True
|
||||
material = ultimaker_petg
|
||||
quality_type = draft
|
||||
setting_version = 25
|
||||
type = intent
|
||||
variant = AA 0.4
|
||||
|
||||
[values]
|
||||
infill_pattern = ='zigzag' if infill_sparse_density > 80 else 'triangles'
|
||||
infill_sparse_density = 20
|
||||
jerk_print = 6000
|
||||
max_flow_acceleration = 1
|
||||
speed_infill = =speed_print
|
||||
speed_print = 35
|
||||
speed_roofing = =speed_topbottom
|
||||
speed_topbottom = =speed_print
|
||||
speed_wall = =speed_print
|
||||
speed_wall_0 = =speed_wall
|
||||
speed_wall_x = =speed_wall
|
||||
top_bottom_thickness = =wall_thickness
|
||||
wall_thickness = =line_width * 3
|
||||
|
||||
|
|
@ -0,0 +1,28 @@
|
|||
[general]
|
||||
definition = ultimaker_s8
|
||||
name = Quick
|
||||
version = 4
|
||||
|
||||
[metadata]
|
||||
intent_category = quick
|
||||
is_experimental = True
|
||||
material = ultimaker_petg
|
||||
quality_type = draft
|
||||
setting_version = 25
|
||||
type = intent
|
||||
variant = AA 0.4
|
||||
|
||||
[values]
|
||||
acceleration_wall_0 = 2000
|
||||
gradual_flow_enabled = False
|
||||
gradual_infill_step_height = =4 * layer_height
|
||||
gradual_infill_steps = 3
|
||||
infill_sparse_density = 40
|
||||
jerk_print = 6000
|
||||
jerk_wall_0 = 6000
|
||||
speed_print = 150
|
||||
speed_wall = =speed_print
|
||||
speed_wall_0 = 40
|
||||
top_bottom_thickness = =4 * layer_height
|
||||
wall_thickness = =2 * line_width
|
||||
|
||||
|
|
@ -0,0 +1,27 @@
|
|||
[general]
|
||||
definition = ultimaker_s8
|
||||
name = Visual
|
||||
version = 4
|
||||
|
||||
[metadata]
|
||||
intent_category = visual
|
||||
is_experimental = True
|
||||
material = ultimaker_petg
|
||||
quality_type = draft
|
||||
setting_version = 25
|
||||
type = intent
|
||||
variant = AA 0.4
|
||||
|
||||
[values]
|
||||
acceleration_print = 2500
|
||||
acceleration_wall_0 = 1000
|
||||
inset_direction = inside_out
|
||||
jerk_wall_0 = 4000
|
||||
max_flow_acceleration = 0.5
|
||||
speed_print = 50
|
||||
speed_roofing = =math.ceil(speed_wall*(35/50))
|
||||
speed_wall_0 = =math.ceil(speed_wall*(20/50))
|
||||
speed_wall_x = =math.ceil(speed_wall*(35/50))
|
||||
top_bottom_thickness = =max(1.2 , layer_height * 6)
|
||||
z_seam_type = back
|
||||
|
||||
|
|
@ -0,0 +1,28 @@
|
|||
[general]
|
||||
definition = ultimaker_s8
|
||||
name = Quick
|
||||
version = 4
|
||||
|
||||
[metadata]
|
||||
intent_category = quick
|
||||
is_experimental = True
|
||||
material = ultimaker_petg
|
||||
quality_type = verydraft
|
||||
setting_version = 25
|
||||
type = intent
|
||||
variant = AA 0.4
|
||||
|
||||
[values]
|
||||
acceleration_wall_0 = 2000
|
||||
gradual_flow_enabled = False
|
||||
gradual_infill_step_height = =4 * layer_height
|
||||
gradual_infill_steps = 3
|
||||
infill_sparse_density = 40
|
||||
jerk_print = 6000
|
||||
jerk_wall_0 = 6000
|
||||
speed_print = 150
|
||||
speed_wall = =speed_print
|
||||
speed_wall_0 = 40
|
||||
top_bottom_thickness = =4 * layer_height
|
||||
wall_thickness = =2 * line_width
|
||||
|
||||
|
|
@ -0,0 +1,27 @@
|
|||
[general]
|
||||
definition = ultimaker_s8
|
||||
name = Visual
|
||||
version = 4
|
||||
|
||||
[metadata]
|
||||
intent_category = visual
|
||||
is_experimental = True
|
||||
material = ultimaker_pla
|
||||
quality_type = high
|
||||
setting_version = 25
|
||||
type = intent
|
||||
variant = AA 0.4
|
||||
|
||||
[values]
|
||||
acceleration_print = 2500
|
||||
acceleration_wall_0 = 1000
|
||||
inset_direction = inside_out
|
||||
jerk_wall_0 = 4000
|
||||
max_flow_acceleration = 0.5
|
||||
speed_print = 50
|
||||
speed_roofing = =math.ceil(speed_wall*(35/50))
|
||||
speed_wall_0 = =math.ceil(speed_wall*(20/50))
|
||||
speed_wall_x = =math.ceil(speed_wall*(35/50))
|
||||
top_bottom_thickness = =max(1.2 , layer_height * 6)
|
||||
z_seam_type = back
|
||||
|
||||
|
|
@ -0,0 +1,29 @@
|
|||
[general]
|
||||
definition = ultimaker_s8
|
||||
name = Accurate
|
||||
version = 4
|
||||
|
||||
[metadata]
|
||||
intent_category = engineering
|
||||
is_experimental = True
|
||||
material = ultimaker_pla
|
||||
quality_type = fast
|
||||
setting_version = 25
|
||||
type = intent
|
||||
variant = AA 0.4
|
||||
|
||||
[values]
|
||||
infill_pattern = ='zigzag' if infill_sparse_density > 80 else 'triangles'
|
||||
infill_sparse_density = 20
|
||||
jerk_print = 6000
|
||||
max_flow_acceleration = 1
|
||||
speed_infill = =speed_print
|
||||
speed_print = 35
|
||||
speed_roofing = =speed_topbottom
|
||||
speed_topbottom = =speed_print
|
||||
speed_wall = =speed_print
|
||||
speed_wall_0 = =speed_wall
|
||||
speed_wall_x = =speed_wall
|
||||
top_bottom_thickness = =wall_thickness
|
||||
wall_thickness = =line_width * 3
|
||||
|
||||
|
|
@ -0,0 +1,27 @@
|
|||
[general]
|
||||
definition = ultimaker_s8
|
||||
name = Visual
|
||||
version = 4
|
||||
|
||||
[metadata]
|
||||
intent_category = visual
|
||||
is_experimental = True
|
||||
material = ultimaker_pla
|
||||
quality_type = fast
|
||||
setting_version = 25
|
||||
type = intent
|
||||
variant = AA 0.4
|
||||
|
||||
[values]
|
||||
acceleration_print = 2500
|
||||
acceleration_wall_0 = 1000
|
||||
inset_direction = inside_out
|
||||
jerk_wall_0 = 4000
|
||||
max_flow_acceleration = 0.5
|
||||
speed_print = 50
|
||||
speed_roofing = =math.ceil(speed_wall*(35/50))
|
||||
speed_wall_0 = =math.ceil(speed_wall*(20/50))
|
||||
speed_wall_x = =math.ceil(speed_wall*(35/50))
|
||||
top_bottom_thickness = =max(1.2 , layer_height * 6)
|
||||
z_seam_type = back
|
||||
|
||||
|
|
@ -0,0 +1,29 @@
|
|||
[general]
|
||||
definition = ultimaker_s8
|
||||
name = Accurate
|
||||
version = 4
|
||||
|
||||
[metadata]
|
||||
intent_category = engineering
|
||||
is_experimental = True
|
||||
material = ultimaker_pla
|
||||
quality_type = normal
|
||||
setting_version = 25
|
||||
type = intent
|
||||
variant = AA 0.4
|
||||
|
||||
[values]
|
||||
infill_pattern = ='zigzag' if infill_sparse_density > 80 else 'triangles'
|
||||
infill_sparse_density = 20
|
||||
jerk_print = 6000
|
||||
max_flow_acceleration = 1
|
||||
speed_infill = =speed_print
|
||||
speed_print = 35
|
||||
speed_roofing = =speed_topbottom
|
||||
speed_topbottom = =speed_print
|
||||
speed_wall = =speed_print
|
||||
speed_wall_0 = =speed_wall
|
||||
speed_wall_x = =speed_wall
|
||||
top_bottom_thickness = =wall_thickness
|
||||
wall_thickness = =line_width * 3
|
||||
|
||||
|
|
@ -0,0 +1,27 @@
|
|||
[general]
|
||||
definition = ultimaker_s8
|
||||
name = Visual
|
||||
version = 4
|
||||
|
||||
[metadata]
|
||||
intent_category = visual
|
||||
is_experimental = True
|
||||
material = ultimaker_pla
|
||||
quality_type = normal
|
||||
setting_version = 25
|
||||
type = intent
|
||||
variant = AA 0.4
|
||||
|
||||
[values]
|
||||
acceleration_print = 2500
|
||||
acceleration_wall_0 = 1000
|
||||
inset_direction = inside_out
|
||||
jerk_wall_0 = 4000
|
||||
max_flow_acceleration = 0.5
|
||||
speed_print = 50
|
||||
speed_roofing = =math.ceil(speed_wall*(35/50))
|
||||
speed_wall_0 = =math.ceil(speed_wall*(20/50))
|
||||
speed_wall_x = =math.ceil(speed_wall*(35/50))
|
||||
top_bottom_thickness = =max(1.2 , layer_height * 6)
|
||||
z_seam_type = back
|
||||
|
||||
|
|
@ -0,0 +1,29 @@
|
|||
[general]
|
||||
definition = ultimaker_s8
|
||||
name = Accurate
|
||||
version = 4
|
||||
|
||||
[metadata]
|
||||
intent_category = engineering
|
||||
is_experimental = True
|
||||
material = ultimaker_pla
|
||||
quality_type = draft
|
||||
setting_version = 25
|
||||
type = intent
|
||||
variant = AA 0.4
|
||||
|
||||
[values]
|
||||
infill_pattern = ='zigzag' if infill_sparse_density > 80 else 'triangles'
|
||||
infill_sparse_density = 20
|
||||
jerk_print = 6000
|
||||
max_flow_acceleration = 1
|
||||
speed_infill = =speed_print
|
||||
speed_print = 35
|
||||
speed_roofing = =speed_topbottom
|
||||
speed_topbottom = =speed_print
|
||||
speed_wall = =speed_print
|
||||
speed_wall_0 = =speed_wall
|
||||
speed_wall_x = =speed_wall
|
||||
top_bottom_thickness = =wall_thickness
|
||||
wall_thickness = =line_width * 3
|
||||
|
||||
|
|
@ -0,0 +1,28 @@
|
|||
[general]
|
||||
definition = ultimaker_s8
|
||||
name = Quick
|
||||
version = 4
|
||||
|
||||
[metadata]
|
||||
intent_category = quick
|
||||
is_experimental = True
|
||||
material = ultimaker_pla
|
||||
quality_type = draft
|
||||
setting_version = 25
|
||||
type = intent
|
||||
variant = AA 0.4
|
||||
|
||||
[values]
|
||||
acceleration_wall_0 = 2000
|
||||
gradual_flow_enabled = False
|
||||
gradual_infill_step_height = =4 * layer_height
|
||||
gradual_infill_steps = 3
|
||||
infill_sparse_density = 40
|
||||
jerk_print = 6000
|
||||
jerk_wall_0 = 6000
|
||||
speed_print = 150
|
||||
speed_wall = =speed_print
|
||||
speed_wall_0 = 40
|
||||
top_bottom_thickness = =4 * layer_height
|
||||
wall_thickness = =2 * line_width
|
||||
|
||||
|
|
@ -0,0 +1,27 @@
|
|||
[general]
|
||||
definition = ultimaker_s8
|
||||
name = Visual
|
||||
version = 4
|
||||
|
||||
[metadata]
|
||||
intent_category = visual
|
||||
is_experimental = True
|
||||
material = ultimaker_pla
|
||||
quality_type = draft
|
||||
setting_version = 25
|
||||
type = intent
|
||||
variant = AA 0.4
|
||||
|
||||
[values]
|
||||
acceleration_print = 2500
|
||||
acceleration_wall_0 = 1000
|
||||
inset_direction = inside_out
|
||||
jerk_wall_0 = 4000
|
||||
max_flow_acceleration = 0.5
|
||||
speed_print = 50
|
||||
speed_roofing = =math.ceil(speed_wall*(35/50))
|
||||
speed_wall_0 = =math.ceil(speed_wall*(20/50))
|
||||
speed_wall_x = =math.ceil(speed_wall*(35/50))
|
||||
top_bottom_thickness = =max(1.2 , layer_height * 6)
|
||||
z_seam_type = back
|
||||
|
||||
|
|
@ -0,0 +1,28 @@
|
|||
[general]
|
||||
definition = ultimaker_s8
|
||||
name = Quick
|
||||
version = 4
|
||||
|
||||
[metadata]
|
||||
intent_category = quick
|
||||
is_experimental = True
|
||||
material = ultimaker_pla
|
||||
quality_type = verydraft
|
||||
setting_version = 25
|
||||
type = intent
|
||||
variant = AA 0.4
|
||||
|
||||
[values]
|
||||
acceleration_wall_0 = 2000
|
||||
gradual_flow_enabled = False
|
||||
gradual_infill_step_height = =4 * layer_height
|
||||
gradual_infill_steps = 3
|
||||
infill_sparse_density = 40
|
||||
jerk_print = 6000
|
||||
jerk_wall_0 = 6000
|
||||
speed_print = 150
|
||||
speed_wall = =speed_print
|
||||
speed_wall_0 = 40
|
||||
top_bottom_thickness = =4 * layer_height
|
||||
wall_thickness = =2 * line_width
|
||||
|
||||
|
|
@ -0,0 +1,27 @@
|
|||
[general]
|
||||
definition = ultimaker_s8
|
||||
name = Visual
|
||||
version = 4
|
||||
|
||||
[metadata]
|
||||
intent_category = visual
|
||||
is_experimental = True
|
||||
material = ultimaker_tough_pla
|
||||
quality_type = high
|
||||
setting_version = 25
|
||||
type = intent
|
||||
variant = AA 0.4
|
||||
|
||||
[values]
|
||||
acceleration_print = 2500
|
||||
acceleration_wall_0 = 1000
|
||||
inset_direction = inside_out
|
||||
jerk_wall_0 = 4000
|
||||
max_flow_acceleration = 0.5
|
||||
speed_print = 50
|
||||
speed_roofing = =math.ceil(speed_wall*(35/50))
|
||||
speed_wall_0 = =math.ceil(speed_wall*(20/50))
|
||||
speed_wall_x = =math.ceil(speed_wall*(35/50))
|
||||
top_bottom_thickness = =max(1.2 , layer_height * 6)
|
||||
z_seam_type = back
|
||||
|
||||
|
|
@ -0,0 +1,29 @@
|
|||
[general]
|
||||
definition = ultimaker_s8
|
||||
name = Accurate
|
||||
version = 4
|
||||
|
||||
[metadata]
|
||||
intent_category = engineering
|
||||
is_experimental = True
|
||||
material = ultimaker_tough_pla
|
||||
quality_type = fast
|
||||
setting_version = 25
|
||||
type = intent
|
||||
variant = AA 0.4
|
||||
|
||||
[values]
|
||||
infill_pattern = ='zigzag' if infill_sparse_density > 80 else 'triangles'
|
||||
infill_sparse_density = 20
|
||||
jerk_print = 6000
|
||||
max_flow_acceleration = 1
|
||||
speed_infill = =speed_print
|
||||
speed_print = 35
|
||||
speed_roofing = =speed_topbottom
|
||||
speed_topbottom = =speed_print
|
||||
speed_wall = =speed_print
|
||||
speed_wall_0 = =speed_wall
|
||||
speed_wall_x = =speed_wall
|
||||
top_bottom_thickness = =wall_thickness
|
||||
wall_thickness = =line_width * 3
|
||||
|
||||
|
|
@ -0,0 +1,27 @@
|
|||
[general]
|
||||
definition = ultimaker_s8
|
||||
name = Visual
|
||||
version = 4
|
||||
|
||||
[metadata]
|
||||
intent_category = visual
|
||||
is_experimental = True
|
||||
material = ultimaker_tough_pla
|
||||
quality_type = fast
|
||||
setting_version = 25
|
||||
type = intent
|
||||
variant = AA 0.4
|
||||
|
||||
[values]
|
||||
acceleration_print = 2500
|
||||
acceleration_wall_0 = 1000
|
||||
inset_direction = inside_out
|
||||
jerk_wall_0 = 4000
|
||||
max_flow_acceleration = 0.5
|
||||
speed_print = 50
|
||||
speed_roofing = =math.ceil(speed_wall*(35/50))
|
||||
speed_wall_0 = =math.ceil(speed_wall*(20/50))
|
||||
speed_wall_x = =math.ceil(speed_wall*(35/50))
|
||||
top_bottom_thickness = =max(1.2 , layer_height * 6)
|
||||
z_seam_type = back
|
||||
|
||||
|
|
@ -0,0 +1,29 @@
|
|||
[general]
|
||||
definition = ultimaker_s8
|
||||
name = Accurate
|
||||
version = 4
|
||||
|
||||
[metadata]
|
||||
intent_category = engineering
|
||||
is_experimental = True
|
||||
material = ultimaker_tough_pla
|
||||
quality_type = normal
|
||||
setting_version = 25
|
||||
type = intent
|
||||
variant = AA 0.4
|
||||
|
||||
[values]
|
||||
infill_pattern = ='zigzag' if infill_sparse_density > 80 else 'triangles'
|
||||
infill_sparse_density = 20
|
||||
jerk_print = 6000
|
||||
max_flow_acceleration = 1
|
||||
speed_infill = =speed_print
|
||||
speed_print = 35
|
||||
speed_roofing = =speed_topbottom
|
||||
speed_topbottom = =speed_print
|
||||
speed_wall = =speed_print
|
||||
speed_wall_0 = =speed_wall
|
||||
speed_wall_x = =speed_wall
|
||||
top_bottom_thickness = =wall_thickness
|
||||
wall_thickness = =line_width * 3
|
||||
|
||||
|
|
@ -0,0 +1,27 @@
|
|||
[general]
|
||||
definition = ultimaker_s8
|
||||
name = Visual
|
||||
version = 4
|
||||
|
||||
[metadata]
|
||||
intent_category = visual
|
||||
is_experimental = True
|
||||
material = ultimaker_tough_pla
|
||||
quality_type = normal
|
||||
setting_version = 25
|
||||
type = intent
|
||||
variant = AA 0.4
|
||||
|
||||
[values]
|
||||
acceleration_print = 2500
|
||||
acceleration_wall_0 = 1000
|
||||
inset_direction = inside_out
|
||||
jerk_wall_0 = 4000
|
||||
max_flow_acceleration = 0.5
|
||||
speed_print = 50
|
||||
speed_roofing = =math.ceil(speed_wall*(35/50))
|
||||
speed_wall_0 = =math.ceil(speed_wall*(20/50))
|
||||
speed_wall_x = =math.ceil(speed_wall*(35/50))
|
||||
top_bottom_thickness = =max(1.2 , layer_height * 6)
|
||||
z_seam_type = back
|
||||
|
||||
|
|
@ -0,0 +1,29 @@
|
|||
[general]
|
||||
definition = ultimaker_s8
|
||||
name = Accurate
|
||||
version = 4
|
||||
|
||||
[metadata]
|
||||
intent_category = engineering
|
||||
is_experimental = True
|
||||
material = ultimaker_tough_pla
|
||||
quality_type = draft
|
||||
setting_version = 25
|
||||
type = intent
|
||||
variant = AA 0.4
|
||||
|
||||
[values]
|
||||
infill_pattern = ='zigzag' if infill_sparse_density > 80 else 'triangles'
|
||||
infill_sparse_density = 20
|
||||
jerk_print = 6000
|
||||
max_flow_acceleration = 1
|
||||
speed_infill = =speed_print
|
||||
speed_print = 35
|
||||
speed_roofing = =speed_topbottom
|
||||
speed_topbottom = =speed_print
|
||||
speed_wall = =speed_print
|
||||
speed_wall_0 = =speed_wall
|
||||
speed_wall_x = =speed_wall
|
||||
top_bottom_thickness = =wall_thickness
|
||||
wall_thickness = =line_width * 3
|
||||
|
||||
|
|
@ -0,0 +1,28 @@
|
|||
[general]
|
||||
definition = ultimaker_s8
|
||||
name = Quick
|
||||
version = 4
|
||||
|
||||
[metadata]
|
||||
intent_category = quick
|
||||
is_experimental = True
|
||||
material = ultimaker_tough_pla
|
||||
quality_type = draft
|
||||
setting_version = 25
|
||||
type = intent
|
||||
variant = AA 0.4
|
||||
|
||||
[values]
|
||||
acceleration_wall_0 = 2000
|
||||
gradual_flow_enabled = False
|
||||
gradual_infill_step_height = =4 * layer_height
|
||||
gradual_infill_steps = 3
|
||||
infill_sparse_density = 40
|
||||
jerk_print = 6000
|
||||
jerk_wall_0 = 6000
|
||||
speed_print = 150
|
||||
speed_wall = =speed_print
|
||||
speed_wall_0 = 40
|
||||
top_bottom_thickness = =4 * layer_height
|
||||
wall_thickness = =2 * line_width
|
||||
|
||||
|
|
@ -0,0 +1,27 @@
|
|||
[general]
|
||||
definition = ultimaker_s8
|
||||
name = Visual
|
||||
version = 4
|
||||
|
||||
[metadata]
|
||||
intent_category = visual
|
||||
is_experimental = True
|
||||
material = ultimaker_tough_pla
|
||||
quality_type = draft
|
||||
setting_version = 25
|
||||
type = intent
|
||||
variant = AA 0.4
|
||||
|
||||
[values]
|
||||
acceleration_print = 2500
|
||||
acceleration_wall_0 = 1000
|
||||
inset_direction = inside_out
|
||||
jerk_wall_0 = 4000
|
||||
max_flow_acceleration = 0.5
|
||||
speed_print = 50
|
||||
speed_roofing = =math.ceil(speed_wall*(35/50))
|
||||
speed_wall_0 = =math.ceil(speed_wall*(20/50))
|
||||
speed_wall_x = =math.ceil(speed_wall*(35/50))
|
||||
top_bottom_thickness = =max(1.2 , layer_height * 6)
|
||||
z_seam_type = back
|
||||
|
||||
|
|
@ -0,0 +1,28 @@
|
|||
[general]
|
||||
definition = ultimaker_s8
|
||||
name = Quick
|
||||
version = 4
|
||||
|
||||
[metadata]
|
||||
intent_category = quick
|
||||
is_experimental = True
|
||||
material = ultimaker_tough_pla
|
||||
quality_type = verydraft
|
||||
setting_version = 25
|
||||
type = intent
|
||||
variant = AA 0.4
|
||||
|
||||
[values]
|
||||
acceleration_wall_0 = 2000
|
||||
gradual_flow_enabled = False
|
||||
gradual_infill_step_height = =4 * layer_height
|
||||
gradual_infill_steps = 3
|
||||
infill_sparse_density = 40
|
||||
jerk_print = 6000
|
||||
jerk_wall_0 = 6000
|
||||
speed_print = 150
|
||||
speed_wall = =speed_print
|
||||
speed_wall_0 = 40
|
||||
top_bottom_thickness = =4 * layer_height
|
||||
wall_thickness = =2 * line_width
|
||||
|
||||
|
|
@ -0,0 +1,29 @@
|
|||
[general]
|
||||
definition = ultimaker_s8
|
||||
name = Accurate
|
||||
version = 4
|
||||
|
||||
[metadata]
|
||||
intent_category = engineering
|
||||
is_experimental = True
|
||||
material = ultimaker_abs
|
||||
quality_type = draft
|
||||
setting_version = 25
|
||||
type = intent
|
||||
variant = AA 0.8
|
||||
|
||||
[values]
|
||||
infill_pattern = ='zigzag' if infill_sparse_density > 80 else 'triangles'
|
||||
infill_sparse_density = 20
|
||||
jerk_print = 6000
|
||||
max_flow_acceleration = 1
|
||||
speed_infill = =speed_print
|
||||
speed_print = 35
|
||||
speed_roofing = =speed_topbottom
|
||||
speed_topbottom = =speed_print
|
||||
speed_wall = =speed_print
|
||||
speed_wall_0 = =speed_wall
|
||||
speed_wall_x = =speed_wall
|
||||
top_bottom_thickness = =wall_thickness
|
||||
wall_thickness = =line_width * 3
|
||||
|
||||
|
|
@ -0,0 +1,27 @@
|
|||
[general]
|
||||
definition = ultimaker_s8
|
||||
name = Quick
|
||||
version = 4
|
||||
|
||||
[metadata]
|
||||
intent_category = quick
|
||||
is_experimental = True
|
||||
material = ultimaker_abs
|
||||
quality_type = draft
|
||||
setting_version = 25
|
||||
type = intent
|
||||
variant = AA 0.8
|
||||
|
||||
[values]
|
||||
acceleration_wall_0 = 2000
|
||||
gradual_flow_enabled = False
|
||||
gradual_infill_step_height = =4 * layer_height
|
||||
gradual_infill_steps = 3
|
||||
infill_sparse_density = 40
|
||||
jerk_print = 6000
|
||||
jerk_wall_0 = 6000
|
||||
speed_wall = =speed_print
|
||||
speed_wall_0 = 40
|
||||
top_bottom_thickness = =4 * layer_height
|
||||
wall_thickness = =wall_line_width_0
|
||||
|
||||
|
|
@ -0,0 +1,27 @@
|
|||
[general]
|
||||
definition = ultimaker_s8
|
||||
name = Visual
|
||||
version = 4
|
||||
|
||||
[metadata]
|
||||
intent_category = visual
|
||||
is_experimental = True
|
||||
material = ultimaker_abs
|
||||
quality_type = draft
|
||||
setting_version = 25
|
||||
type = intent
|
||||
variant = AA 0.8
|
||||
|
||||
[values]
|
||||
acceleration_print = 2500
|
||||
acceleration_wall_0 = 1000
|
||||
inset_direction = inside_out
|
||||
jerk_wall_0 = 4000
|
||||
max_flow_acceleration = 0.5
|
||||
speed_print = 50
|
||||
speed_roofing = =math.ceil(speed_wall*(35/50))
|
||||
speed_wall_0 = =math.ceil(speed_wall*(20/50))
|
||||
speed_wall_x = =math.ceil(speed_wall*(35/50))
|
||||
top_bottom_thickness = =max(1.2 , layer_height * 6)
|
||||
z_seam_type = back
|
||||
|
||||
|
|
@ -0,0 +1,27 @@
|
|||
[general]
|
||||
definition = ultimaker_s8
|
||||
name = Quick
|
||||
version = 4
|
||||
|
||||
[metadata]
|
||||
intent_category = quick
|
||||
is_experimental = True
|
||||
material = ultimaker_abs
|
||||
quality_type = verydraft
|
||||
setting_version = 25
|
||||
type = intent
|
||||
variant = AA 0.8
|
||||
|
||||
[values]
|
||||
acceleration_wall_0 = 2000
|
||||
gradual_flow_enabled = False
|
||||
gradual_infill_step_height = =4 * layer_height
|
||||
gradual_infill_steps = 3
|
||||
infill_sparse_density = 40
|
||||
jerk_print = 6000
|
||||
jerk_wall_0 = 6000
|
||||
speed_wall = =speed_print
|
||||
speed_wall_0 = 40
|
||||
top_bottom_thickness = =4 * layer_height
|
||||
wall_thickness = =wall_line_width_0
|
||||
|
||||
|
|
@ -0,0 +1,27 @@
|
|||
[general]
|
||||
definition = ultimaker_s8
|
||||
name = Quick
|
||||
version = 4
|
||||
|
||||
[metadata]
|
||||
intent_category = quick
|
||||
is_experimental = True
|
||||
material = ultimaker_abs
|
||||
quality_type = superdraft
|
||||
setting_version = 25
|
||||
type = intent
|
||||
variant = AA 0.8
|
||||
|
||||
[values]
|
||||
acceleration_wall_0 = 2000
|
||||
gradual_flow_enabled = False
|
||||
gradual_infill_step_height = =4 * layer_height
|
||||
gradual_infill_steps = 3
|
||||
infill_sparse_density = 40
|
||||
jerk_print = 6000
|
||||
jerk_wall_0 = 6000
|
||||
speed_wall = =speed_print
|
||||
speed_wall_0 = 40
|
||||
top_bottom_thickness = =4 * layer_height
|
||||
wall_thickness = =wall_line_width_0
|
||||
|
||||
|
|
@ -0,0 +1,29 @@
|
|||
[general]
|
||||
definition = ultimaker_s8
|
||||
name = Accurate
|
||||
version = 4
|
||||
|
||||
[metadata]
|
||||
intent_category = engineering
|
||||
is_experimental = True
|
||||
material = ultimaker_petg
|
||||
quality_type = draft
|
||||
setting_version = 25
|
||||
type = intent
|
||||
variant = AA 0.8
|
||||
|
||||
[values]
|
||||
infill_pattern = ='zigzag' if infill_sparse_density > 80 else 'triangles'
|
||||
infill_sparse_density = 20
|
||||
jerk_print = 6000
|
||||
max_flow_acceleration = 1
|
||||
speed_infill = =speed_print
|
||||
speed_print = 35
|
||||
speed_roofing = =speed_topbottom
|
||||
speed_topbottom = =speed_print
|
||||
speed_wall = =speed_print
|
||||
speed_wall_0 = =speed_wall
|
||||
speed_wall_x = =speed_wall
|
||||
top_bottom_thickness = =wall_thickness
|
||||
wall_thickness = =line_width * 3
|
||||
|
||||
|
|
@ -0,0 +1,27 @@
|
|||
[general]
|
||||
definition = ultimaker_s8
|
||||
name = Quick
|
||||
version = 4
|
||||
|
||||
[metadata]
|
||||
intent_category = quick
|
||||
is_experimental = True
|
||||
material = ultimaker_petg
|
||||
quality_type = draft
|
||||
setting_version = 25
|
||||
type = intent
|
||||
variant = AA 0.8
|
||||
|
||||
[values]
|
||||
acceleration_wall_0 = 2000
|
||||
gradual_flow_enabled = False
|
||||
gradual_infill_step_height = =4 * layer_height
|
||||
gradual_infill_steps = 3
|
||||
infill_sparse_density = 40
|
||||
jerk_print = 6000
|
||||
jerk_wall_0 = 6000
|
||||
speed_wall = =speed_print
|
||||
speed_wall_0 = 40
|
||||
top_bottom_thickness = =4 * layer_height
|
||||
wall_thickness = =wall_line_width_0
|
||||
|
||||
|
|
@ -0,0 +1,27 @@
|
|||
[general]
|
||||
definition = ultimaker_s8
|
||||
name = Visual
|
||||
version = 4
|
||||
|
||||
[metadata]
|
||||
intent_category = visual
|
||||
is_experimental = True
|
||||
material = ultimaker_petg
|
||||
quality_type = draft
|
||||
setting_version = 25
|
||||
type = intent
|
||||
variant = AA 0.8
|
||||
|
||||
[values]
|
||||
acceleration_print = 2500
|
||||
acceleration_wall_0 = 1000
|
||||
inset_direction = inside_out
|
||||
jerk_wall_0 = 4000
|
||||
max_flow_acceleration = 0.5
|
||||
speed_print = 50
|
||||
speed_roofing = =math.ceil(speed_wall*(35/50))
|
||||
speed_wall_0 = =math.ceil(speed_wall*(20/50))
|
||||
speed_wall_x = =math.ceil(speed_wall*(35/50))
|
||||
top_bottom_thickness = =max(1.2 , layer_height * 6)
|
||||
z_seam_type = back
|
||||
|
||||
|
|
@ -0,0 +1,27 @@
|
|||
[general]
|
||||
definition = ultimaker_s8
|
||||
name = Quick
|
||||
version = 4
|
||||
|
||||
[metadata]
|
||||
intent_category = quick
|
||||
is_experimental = True
|
||||
material = ultimaker_petg
|
||||
quality_type = verydraft
|
||||
setting_version = 25
|
||||
type = intent
|
||||
variant = AA 0.8
|
||||
|
||||
[values]
|
||||
acceleration_wall_0 = 2000
|
||||
gradual_flow_enabled = False
|
||||
gradual_infill_step_height = =4 * layer_height
|
||||
gradual_infill_steps = 3
|
||||
infill_sparse_density = 40
|
||||
jerk_print = 6000
|
||||
jerk_wall_0 = 6000
|
||||
speed_wall = =speed_print
|
||||
speed_wall_0 = 40
|
||||
top_bottom_thickness = =4 * layer_height
|
||||
wall_thickness = =wall_line_width_0
|
||||
|
||||
|
|
@ -0,0 +1,27 @@
|
|||
[general]
|
||||
definition = ultimaker_s8
|
||||
name = Quick
|
||||
version = 4
|
||||
|
||||
[metadata]
|
||||
intent_category = quick
|
||||
is_experimental = True
|
||||
material = ultimaker_petg
|
||||
quality_type = superdraft
|
||||
setting_version = 25
|
||||
type = intent
|
||||
variant = AA 0.8
|
||||
|
||||
[values]
|
||||
acceleration_wall_0 = 2000
|
||||
gradual_flow_enabled = False
|
||||
gradual_infill_step_height = =4 * layer_height
|
||||
gradual_infill_steps = 3
|
||||
infill_sparse_density = 40
|
||||
jerk_print = 6000
|
||||
jerk_wall_0 = 6000
|
||||
speed_wall = =speed_print
|
||||
speed_wall_0 = 40
|
||||
top_bottom_thickness = =4 * layer_height
|
||||
wall_thickness = =wall_line_width_0
|
||||
|
||||
|
|
@ -0,0 +1,29 @@
|
|||
[general]
|
||||
definition = ultimaker_s8
|
||||
name = Accurate
|
||||
version = 4
|
||||
|
||||
[metadata]
|
||||
intent_category = engineering
|
||||
is_experimental = True
|
||||
material = ultimaker_pla
|
||||
quality_type = draft
|
||||
setting_version = 25
|
||||
type = intent
|
||||
variant = AA 0.8
|
||||
|
||||
[values]
|
||||
infill_pattern = ='zigzag' if infill_sparse_density > 80 else 'triangles'
|
||||
infill_sparse_density = 20
|
||||
jerk_print = 6000
|
||||
max_flow_acceleration = 1
|
||||
speed_infill = =speed_print
|
||||
speed_print = 35
|
||||
speed_roofing = =speed_topbottom
|
||||
speed_topbottom = =speed_print
|
||||
speed_wall = =speed_print
|
||||
speed_wall_0 = =speed_wall
|
||||
speed_wall_x = =speed_wall
|
||||
top_bottom_thickness = =wall_thickness
|
||||
wall_thickness = =line_width * 3
|
||||
|
||||
|
|
@ -0,0 +1,27 @@
|
|||
[general]
|
||||
definition = ultimaker_s8
|
||||
name = Quick
|
||||
version = 4
|
||||
|
||||
[metadata]
|
||||
intent_category = quick
|
||||
is_experimental = True
|
||||
material = ultimaker_pla
|
||||
quality_type = draft
|
||||
setting_version = 25
|
||||
type = intent
|
||||
variant = AA 0.8
|
||||
|
||||
[values]
|
||||
acceleration_wall_0 = 2000
|
||||
gradual_flow_enabled = False
|
||||
gradual_infill_step_height = =4 * layer_height
|
||||
gradual_infill_steps = 3
|
||||
infill_sparse_density = 40
|
||||
jerk_print = 6000
|
||||
jerk_wall_0 = 6000
|
||||
speed_wall = =speed_print
|
||||
speed_wall_0 = 40
|
||||
top_bottom_thickness = =4 * layer_height
|
||||
wall_thickness = =wall_line_width_0
|
||||
|
||||
|
|
@ -0,0 +1,27 @@
|
|||
[general]
|
||||
definition = ultimaker_s8
|
||||
name = Visual
|
||||
version = 4
|
||||
|
||||
[metadata]
|
||||
intent_category = visual
|
||||
is_experimental = True
|
||||
material = ultimaker_pla
|
||||
quality_type = draft
|
||||
setting_version = 25
|
||||
type = intent
|
||||
variant = AA 0.8
|
||||
|
||||
[values]
|
||||
acceleration_print = 2500
|
||||
acceleration_wall_0 = 1000
|
||||
inset_direction = inside_out
|
||||
jerk_wall_0 = 4000
|
||||
max_flow_acceleration = 0.5
|
||||
speed_print = 50
|
||||
speed_roofing = =math.ceil(speed_wall*(35/50))
|
||||
speed_wall_0 = =math.ceil(speed_wall*(20/50))
|
||||
speed_wall_x = =math.ceil(speed_wall*(35/50))
|
||||
top_bottom_thickness = =max(1.2 , layer_height * 6)
|
||||
z_seam_type = back
|
||||
|
||||
|
|
@ -0,0 +1,27 @@
|
|||
[general]
|
||||
definition = ultimaker_s8
|
||||
name = Quick
|
||||
version = 4
|
||||
|
||||
[metadata]
|
||||
intent_category = quick
|
||||
is_experimental = True
|
||||
material = ultimaker_pla
|
||||
quality_type = verydraft
|
||||
setting_version = 25
|
||||
type = intent
|
||||
variant = AA 0.8
|
||||
|
||||
[values]
|
||||
acceleration_wall_0 = 2000
|
||||
gradual_flow_enabled = False
|
||||
gradual_infill_step_height = =4 * layer_height
|
||||
gradual_infill_steps = 3
|
||||
infill_sparse_density = 40
|
||||
jerk_print = 6000
|
||||
jerk_wall_0 = 6000
|
||||
speed_wall = =speed_print
|
||||
speed_wall_0 = 40
|
||||
top_bottom_thickness = =4 * layer_height
|
||||
wall_thickness = =wall_line_width_0
|
||||
|
||||
|
|
@ -0,0 +1,27 @@
|
|||
[general]
|
||||
definition = ultimaker_s8
|
||||
name = Quick
|
||||
version = 4
|
||||
|
||||
[metadata]
|
||||
intent_category = quick
|
||||
is_experimental = True
|
||||
material = ultimaker_pla
|
||||
quality_type = superdraft
|
||||
setting_version = 25
|
||||
type = intent
|
||||
variant = AA 0.8
|
||||
|
||||
[values]
|
||||
acceleration_wall_0 = 2000
|
||||
gradual_flow_enabled = False
|
||||
gradual_infill_step_height = =4 * layer_height
|
||||
gradual_infill_steps = 3
|
||||
infill_sparse_density = 40
|
||||
jerk_print = 6000
|
||||
jerk_wall_0 = 6000
|
||||
speed_wall = =speed_print
|
||||
speed_wall_0 = 40
|
||||
top_bottom_thickness = =4 * layer_height
|
||||
wall_thickness = =wall_line_width_0
|
||||
|
||||
|
|
@ -0,0 +1,29 @@
|
|||
[general]
|
||||
definition = ultimaker_s8
|
||||
name = Accurate
|
||||
version = 4
|
||||
|
||||
[metadata]
|
||||
intent_category = engineering
|
||||
is_experimental = True
|
||||
material = ultimaker_tough_pla
|
||||
quality_type = draft
|
||||
setting_version = 25
|
||||
type = intent
|
||||
variant = AA 0.8
|
||||
|
||||
[values]
|
||||
infill_pattern = ='zigzag' if infill_sparse_density > 80 else 'triangles'
|
||||
infill_sparse_density = 20
|
||||
jerk_print = 6000
|
||||
max_flow_acceleration = 1
|
||||
speed_infill = =speed_print
|
||||
speed_print = 35
|
||||
speed_roofing = =speed_topbottom
|
||||
speed_topbottom = =speed_print
|
||||
speed_wall = =speed_print
|
||||
speed_wall_0 = =speed_wall
|
||||
speed_wall_x = =speed_wall
|
||||
top_bottom_thickness = =wall_thickness
|
||||
wall_thickness = =line_width * 3
|
||||
|
||||
|
|
@ -0,0 +1,27 @@
|
|||
[general]
|
||||
definition = ultimaker_s8
|
||||
name = Quick
|
||||
version = 4
|
||||
|
||||
[metadata]
|
||||
intent_category = quick
|
||||
is_experimental = True
|
||||
material = ultimaker_tough_pla
|
||||
quality_type = draft
|
||||
setting_version = 25
|
||||
type = intent
|
||||
variant = AA 0.8
|
||||
|
||||
[values]
|
||||
acceleration_wall_0 = 2000
|
||||
gradual_flow_enabled = False
|
||||
gradual_infill_step_height = =4 * layer_height
|
||||
gradual_infill_steps = 3
|
||||
infill_sparse_density = 40
|
||||
jerk_print = 6000
|
||||
jerk_wall_0 = 6000
|
||||
speed_wall = =speed_print
|
||||
speed_wall_0 = 40
|
||||
top_bottom_thickness = =4 * layer_height
|
||||
wall_thickness = =wall_line_width_0
|
||||
|
||||
|
|
@ -0,0 +1,27 @@
|
|||
[general]
|
||||
definition = ultimaker_s8
|
||||
name = Visual
|
||||
version = 4
|
||||
|
||||
[metadata]
|
||||
intent_category = visual
|
||||
is_experimental = True
|
||||
material = ultimaker_tough_pla
|
||||
quality_type = draft
|
||||
setting_version = 25
|
||||
type = intent
|
||||
variant = AA 0.8
|
||||
|
||||
[values]
|
||||
acceleration_print = 2500
|
||||
acceleration_wall_0 = 1000
|
||||
inset_direction = inside_out
|
||||
jerk_wall_0 = 4000
|
||||
max_flow_acceleration = 0.5
|
||||
speed_print = 50
|
||||
speed_roofing = =math.ceil(speed_wall*(35/50))
|
||||
speed_wall_0 = =math.ceil(speed_wall*(20/50))
|
||||
speed_wall_x = =math.ceil(speed_wall*(35/50))
|
||||
top_bottom_thickness = =max(1.2 , layer_height * 6)
|
||||
z_seam_type = back
|
||||
|
||||
|
|
@ -0,0 +1,27 @@
|
|||
[general]
|
||||
definition = ultimaker_s8
|
||||
name = Quick
|
||||
version = 4
|
||||
|
||||
[metadata]
|
||||
intent_category = quick
|
||||
is_experimental = True
|
||||
material = ultimaker_tough_pla
|
||||
quality_type = verydraft
|
||||
setting_version = 25
|
||||
type = intent
|
||||
variant = AA 0.8
|
||||
|
||||
[values]
|
||||
acceleration_wall_0 = 2000
|
||||
gradual_flow_enabled = False
|
||||
gradual_infill_step_height = =4 * layer_height
|
||||
gradual_infill_steps = 3
|
||||
infill_sparse_density = 40
|
||||
jerk_print = 6000
|
||||
jerk_wall_0 = 6000
|
||||
speed_wall = =speed_print
|
||||
speed_wall_0 = 40
|
||||
top_bottom_thickness = =4 * layer_height
|
||||
wall_thickness = =wall_line_width_0
|
||||
|
||||
|
|
@ -0,0 +1,27 @@
|
|||
[general]
|
||||
definition = ultimaker_s8
|
||||
name = Quick
|
||||
version = 4
|
||||
|
||||
[metadata]
|
||||
intent_category = quick
|
||||
is_experimental = True
|
||||
material = ultimaker_tough_pla
|
||||
quality_type = superdraft
|
||||
setting_version = 25
|
||||
type = intent
|
||||
variant = AA 0.8
|
||||
|
||||
[values]
|
||||
acceleration_wall_0 = 2000
|
||||
gradual_flow_enabled = False
|
||||
gradual_infill_step_height = =4 * layer_height
|
||||
gradual_infill_steps = 3
|
||||
infill_sparse_density = 40
|
||||
jerk_print = 6000
|
||||
jerk_wall_0 = 6000
|
||||
speed_wall = =speed_print
|
||||
speed_wall_0 = 40
|
||||
top_bottom_thickness = =4 * layer_height
|
||||
wall_thickness = =wall_line_width_0
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show more
Loading…
Add table
Add a link
Reference in a new issue