mirror of
https://git.mirrors.martin98.com/https://github.com/Ultimaker/Cura
synced 2025-08-14 19:56:01 +08:00
Merge branch 'master' of github.com:Ultimaker/Cura into CURA-7038
This commit is contained in:
commit
4b86400661
8
.github/workflows/cicd.yml
vendored
8
.github/workflows/cicd.yml
vendored
@ -1,6 +1,12 @@
|
||||
---
|
||||
name: CI/CD
|
||||
on: [push, pull_request]
|
||||
on:
|
||||
push:
|
||||
branches:
|
||||
- master
|
||||
- 'WIP**'
|
||||
- '4.*'
|
||||
pull_request:
|
||||
jobs:
|
||||
build:
|
||||
name: Build and test
|
||||
|
@ -1,4 +1,4 @@
|
||||
# Copyright (c) 2018 Ultimaker B.V.
|
||||
# Copyright (c) 2019 Ultimaker B.V.
|
||||
# Cura is released under the terms of the LGPLv3 or higher.
|
||||
|
||||
import platform
|
||||
@ -7,13 +7,14 @@ import faulthandler
|
||||
import tempfile
|
||||
import os
|
||||
import os.path
|
||||
import time
|
||||
import uuid
|
||||
import json
|
||||
import ssl
|
||||
import urllib.request
|
||||
import urllib.error
|
||||
import locale
|
||||
from typing import cast
|
||||
|
||||
import certifi
|
||||
from sentry_sdk.hub import Hub
|
||||
from sentry_sdk.utils import event_from_exception
|
||||
from sentry_sdk import configure_scope
|
||||
|
||||
from PyQt5.QtCore import QT_VERSION_STR, PYQT_VERSION_STR, QUrl
|
||||
from PyQt5.QtWidgets import QDialog, QDialogButtonBox, QVBoxLayout, QLabel, QTextEdit, QGroupBox, QCheckBox, QPushButton
|
||||
@ -24,7 +25,6 @@ from UM.Logger import Logger
|
||||
from UM.View.GL.OpenGL import OpenGL
|
||||
from UM.i18n import i18nCatalog
|
||||
from UM.Resources import Resources
|
||||
|
||||
from cura import ApplicationMetadata
|
||||
|
||||
catalog = i18nCatalog("cura")
|
||||
@ -46,9 +46,8 @@ skip_exception_types = [
|
||||
GeneratorExit
|
||||
]
|
||||
|
||||
class CrashHandler:
|
||||
crash_url = "https://stats.ultimaker.com/api/cura"
|
||||
|
||||
class CrashHandler:
|
||||
def __init__(self, exception_type, value, tb, has_started = True):
|
||||
self.exception_type = exception_type
|
||||
self.value = value
|
||||
@ -56,21 +55,20 @@ class CrashHandler:
|
||||
self.has_started = has_started
|
||||
self.dialog = None # Don't create a QDialog before there is a QApplication
|
||||
|
||||
# While we create the GUI, the information will be stored for sending afterwards
|
||||
self.data = dict()
|
||||
self.data["time_stamp"] = time.time()
|
||||
|
||||
Logger.log("c", "An uncaught error has occurred!")
|
||||
for line in traceback.format_exception(exception_type, value, tb):
|
||||
for part in line.rstrip("\n").split("\n"):
|
||||
Logger.log("c", part)
|
||||
|
||||
self.data = {}
|
||||
# If Cura has fully started, we only show fatal errors.
|
||||
# If Cura has not fully started yet, we always show the early crash dialog. Otherwise, Cura will just crash
|
||||
# without any information.
|
||||
if has_started and exception_type in skip_exception_types:
|
||||
return
|
||||
|
||||
with configure_scope() as scope:
|
||||
scope.set_tag("during_startup", not has_started)
|
||||
|
||||
if not has_started:
|
||||
self._send_report_checkbox = None
|
||||
self.early_crash_dialog = self._createEarlyCrashDialog()
|
||||
@ -179,25 +177,42 @@ class CrashHandler:
|
||||
try:
|
||||
from UM.Application import Application
|
||||
self.cura_version = Application.getInstance().getVersion()
|
||||
self.cura_locale = Application.getInstance().getPreferences().getValue("general/language")
|
||||
except:
|
||||
self.cura_version = catalog.i18nc("@label unknown version of Cura", "Unknown")
|
||||
self.cura_locale = "??_??"
|
||||
|
||||
self.data["cura_version"] = self.cura_version
|
||||
self.data["os"] = {"type": platform.system(), "version": platform.version()}
|
||||
self.data["qt_version"] = QT_VERSION_STR
|
||||
self.data["pyqt_version"] = PYQT_VERSION_STR
|
||||
self.data["locale_os"] = locale.getlocale(locale.LC_MESSAGES)[0] if hasattr(locale, "LC_MESSAGES") else \
|
||||
locale.getdefaultlocale()[0]
|
||||
self.data["locale_cura"] = self.cura_locale
|
||||
|
||||
crash_info = "<b>" + catalog.i18nc("@label Cura version number", "Cura version") + ":</b> " + str(self.cura_version) + "<br/>"
|
||||
crash_info += "<b>" + catalog.i18nc("@label Cura build type", "Cura build type") + ":</b> " + str(ApplicationMetadata.CuraBuildType) + "<br/>"
|
||||
crash_info += "<b>" + catalog.i18nc("@label", "Cura language") + ":</b> " + str(self.cura_locale) + "<br/>"
|
||||
crash_info += "<b>" + catalog.i18nc("@label", "OS language") + ":</b> " + str(self.data["locale_os"]) + "<br/>"
|
||||
crash_info += "<b>" + catalog.i18nc("@label Type of platform", "Platform") + ":</b> " + str(platform.platform()) + "<br/>"
|
||||
crash_info += "<b>" + catalog.i18nc("@label", "Qt version") + ":</b> " + str(QT_VERSION_STR) + "<br/>"
|
||||
crash_info += "<b>" + catalog.i18nc("@label", "PyQt version") + ":</b> " + str(PYQT_VERSION_STR) + "<br/>"
|
||||
crash_info += "<b>" + catalog.i18nc("@label OpenGL version", "OpenGL") + ":</b> " + str(self._getOpenGLInfo()) + "<br/>"
|
||||
|
||||
label.setText(crash_info)
|
||||
|
||||
layout.addWidget(label)
|
||||
group.setLayout(layout)
|
||||
|
||||
self.data["cura_version"] = self.cura_version
|
||||
self.data["cura_build_type"] = ApplicationMetadata.CuraBuildType
|
||||
self.data["os"] = {"type": platform.system(), "version": platform.version()}
|
||||
self.data["qt_version"] = QT_VERSION_STR
|
||||
self.data["pyqt_version"] = PYQT_VERSION_STR
|
||||
with configure_scope() as scope:
|
||||
scope.set_tag("qt_version", QT_VERSION_STR)
|
||||
scope.set_tag("pyqt_version", PYQT_VERSION_STR)
|
||||
scope.set_tag("os", platform.system())
|
||||
scope.set_tag("os_version", platform.version())
|
||||
scope.set_tag("locale_os", self.data["locale_os"])
|
||||
scope.set_tag("locale_cura", self.cura_locale)
|
||||
scope.set_tag("is_enterprise", ApplicationMetadata.IsEnterpriseVersion)
|
||||
|
||||
scope.set_user({"id": str(uuid.getnode())})
|
||||
|
||||
return group
|
||||
|
||||
@ -215,6 +230,30 @@ class CrashHandler:
|
||||
|
||||
self.data["opengl"] = {"version": opengl_instance.getOpenGLVersion(), "vendor": opengl_instance.getGPUVendorName(), "type": opengl_instance.getGPUType()}
|
||||
|
||||
active_machine_definition_id = "unknown"
|
||||
active_machine_manufacturer = "unknown"
|
||||
|
||||
try:
|
||||
from cura.CuraApplication import CuraApplication
|
||||
application = cast(CuraApplication, Application.getInstance())
|
||||
machine_manager = application.getMachineManager()
|
||||
global_stack = machine_manager.activeMachine
|
||||
if global_stack is None:
|
||||
active_machine_definition_id = "empty"
|
||||
active_machine_manufacturer = "empty"
|
||||
else:
|
||||
active_machine_definition_id = global_stack.definition.getId()
|
||||
active_machine_manufacturer = global_stack.definition.getMetaDataEntry("manufacturer", "unknown")
|
||||
except:
|
||||
pass
|
||||
|
||||
with configure_scope() as scope:
|
||||
scope.set_tag("opengl_version", opengl_instance.getOpenGLVersion())
|
||||
scope.set_tag("gpu_vendor", opengl_instance.getGPUVendorName())
|
||||
scope.set_tag("gpu_type", opengl_instance.getGPUType())
|
||||
scope.set_tag("active_machine", active_machine_definition_id)
|
||||
scope.set_tag("active_machine_manufacturer", active_machine_manufacturer)
|
||||
|
||||
return info
|
||||
|
||||
def _exceptionInfoWidget(self):
|
||||
@ -296,6 +335,10 @@ class CrashHandler:
|
||||
"module_name": module_name, "version": module_version, "is_plugin": isPlugin}
|
||||
self.data["exception"] = exception_dict
|
||||
|
||||
with configure_scope() as scope:
|
||||
scope.set_tag("is_plugin", isPlugin)
|
||||
scope.set_tag("module", module_name)
|
||||
|
||||
return group
|
||||
|
||||
def _logInfoWidget(self):
|
||||
@ -353,31 +396,11 @@ class CrashHandler:
|
||||
# Before sending data, the user comments are stored
|
||||
self.data["user_info"] = self.user_description_text_area.toPlainText()
|
||||
|
||||
# Convert data to bytes
|
||||
binary_data = json.dumps(self.data).encode("utf-8")
|
||||
|
||||
# CURA-6698 Create an SSL context and use certifi CA certificates for verification.
|
||||
context = ssl.SSLContext(protocol=ssl.PROTOCOL_TLSv1_2)
|
||||
context.load_verify_locations(cafile = certifi.where())
|
||||
# Submit data
|
||||
kwoptions = {"data": binary_data,
|
||||
"timeout": 5,
|
||||
"context": context}
|
||||
|
||||
Logger.log("i", "Sending crash report info to [%s]...", self.crash_url)
|
||||
if not self.has_started:
|
||||
print("Sending crash report info to [%s]...\n" % self.crash_url)
|
||||
|
||||
try:
|
||||
f = urllib.request.urlopen(self.crash_url, **kwoptions)
|
||||
Logger.log("i", "Sent crash report info.")
|
||||
if not self.has_started:
|
||||
print("Sent crash report info.\n")
|
||||
f.close()
|
||||
except urllib.error.HTTPError as e:
|
||||
Logger.logException("e", "An HTTP error occurred while trying to send crash report")
|
||||
if not self.has_started:
|
||||
print("An HTTP error occurred while trying to send crash report: %s" % e)
|
||||
hub = Hub.current
|
||||
event, hint = event_from_exception((self.exception_type, self.value, self.traceback))
|
||||
hub.capture_event(event, hint=hint)
|
||||
hub.flush()
|
||||
except Exception as e: # We don't want any exception to cause problems
|
||||
Logger.logException("e", "An exception occurred while trying to send crash report")
|
||||
if not self.has_started:
|
||||
|
@ -60,28 +60,38 @@ class MaterialNode(ContainerNode):
|
||||
container_registry = ContainerRegistry.getInstance()
|
||||
# Find all quality profiles that fit on this material.
|
||||
if not self.variant.machine.has_machine_quality: # Need to find the global qualities.
|
||||
qualities = container_registry.findInstanceContainersMetadata(type = "quality", definition = "fdmprinter")
|
||||
qualities = container_registry.findInstanceContainersMetadata(type = "quality",
|
||||
definition = "fdmprinter")
|
||||
elif not self.variant.machine.has_materials:
|
||||
qualities = container_registry.findInstanceContainersMetadata(type="quality", definition=self.variant.machine.quality_definition)
|
||||
qualities = container_registry.findInstanceContainersMetadata(type = "quality",
|
||||
definition = self.variant.machine.quality_definition)
|
||||
else:
|
||||
if self.variant.machine.has_variants:
|
||||
# Need to find the qualities that specify a material profile with the same material type.
|
||||
qualities = container_registry.findInstanceContainersMetadata(type = "quality", definition = self.variant.machine.quality_definition, variant = self.variant.variant_name, material = self.container_id) # First try by exact material ID.
|
||||
qualities = container_registry.findInstanceContainersMetadata(type = "quality",
|
||||
definition = self.variant.machine.quality_definition,
|
||||
variant = self.variant.variant_name,
|
||||
material = self.base_file) # First try by exact material ID.
|
||||
# CURA-7070
|
||||
# The quality profiles only reference a material with the material_root_id. They will never state something
|
||||
# such as "generic_pla_ultimaker_s5_AA_0.4". So we search with the "base_file" which is the material_root_id.
|
||||
else:
|
||||
qualities = container_registry.findInstanceContainersMetadata(type = "quality", definition = self.variant.machine.quality_definition, material = self.container_id)
|
||||
qualities = container_registry.findInstanceContainersMetadata(type = "quality", definition = self.variant.machine.quality_definition, material = self.base_file)
|
||||
if not qualities:
|
||||
my_material_type = self.material_type
|
||||
if self.variant.machine.has_variants:
|
||||
qualities_any_material = container_registry.findInstanceContainersMetadata(type = "quality", definition = self.variant.machine.quality_definition, variant = self.variant.variant_name)
|
||||
qualities_any_material = container_registry.findInstanceContainersMetadata(type = "quality",
|
||||
definition = self.variant.machine.quality_definition,
|
||||
variant = self.variant.variant_name)
|
||||
else:
|
||||
qualities_any_material = container_registry.findInstanceContainersMetadata(type = "quality", definition = self.variant.machine.quality_definition)
|
||||
for material_metadata in container_registry.findInstanceContainersMetadata(type = "material", material = my_material_type):
|
||||
qualities.extend((quality for quality in qualities_any_material if quality.get("material") == material_metadata["id"]))
|
||||
qualities.extend((quality for quality in qualities_any_material if quality.get("material") == material_metadata["base_file"]))
|
||||
|
||||
if not qualities: # No quality profiles found. Go by GUID then.
|
||||
my_guid = self.guid
|
||||
for material_metadata in container_registry.findInstanceContainersMetadata(type = "material", guid = my_guid):
|
||||
qualities.extend((quality for quality in qualities_any_material if quality["material"] == material_metadata["id"]))
|
||||
qualities.extend((quality for quality in qualities_any_material if quality["material"] == material_metadata["base_file"]))
|
||||
|
||||
if not qualities:
|
||||
# There are still some machines that should use global profiles in the extruder, so do that now.
|
||||
|
@ -43,7 +43,7 @@ class CuraFormulaFunctions:
|
||||
extruder_stack = global_stack.extruderList[int(extruder_position)]
|
||||
except IndexError:
|
||||
if extruder_position != 0:
|
||||
Logger.log("w", "Value for %s of extruder %s was requested, but that extruder is not available. Returning the result form extruder 0 instead" % (property_key, extruder_position))
|
||||
Logger.log("w", "Value for %s of extruder %s was requested, but that extruder is not available. Returning the result from extruder 0 instead" % (property_key, extruder_position))
|
||||
# This fixes a very specific fringe case; If a profile was created for a custom printer and one of the
|
||||
# extruder settings has been set to non zero and the profile is loaded for a machine that has only a single extruder
|
||||
# it would cause all kinds of issues (and eventually a crash).
|
||||
|
@ -894,8 +894,8 @@ class MachineManager(QObject):
|
||||
|
||||
@pyqtSlot(int, bool)
|
||||
def setExtruderEnabled(self, position: int, enabled: bool) -> None:
|
||||
if self._global_container_stack is None:
|
||||
Logger.log("w", "Could not find extruder on position %s", position)
|
||||
if self._global_container_stack is None or str(position) not in self._global_container_stack.extruders:
|
||||
Logger.log("w", "Could not find extruder on position %s.", position)
|
||||
return
|
||||
extruder = self._global_container_stack.extruderList[position]
|
||||
|
||||
|
20
cura_app.py
20
cura_app.py
@ -9,8 +9,11 @@ import os
|
||||
import sys
|
||||
|
||||
from UM.Platform import Platform
|
||||
from cura import ApplicationMetadata
|
||||
from cura.ApplicationMetadata import CuraAppName
|
||||
|
||||
import sentry_sdk
|
||||
|
||||
parser = argparse.ArgumentParser(prog = "cura",
|
||||
add_help = False)
|
||||
parser.add_argument("--debug",
|
||||
@ -18,8 +21,25 @@ parser.add_argument("--debug",
|
||||
default = False,
|
||||
help = "Turn on the debug mode by setting this option."
|
||||
)
|
||||
|
||||
known_args = vars(parser.parse_known_args()[0])
|
||||
|
||||
sentry_env = "production"
|
||||
if ApplicationMetadata.CuraVersion == "master":
|
||||
sentry_env = "development"
|
||||
try:
|
||||
if ApplicationMetadata.CuraVersion.split(".")[2] == "99":
|
||||
sentry_env = "nightly"
|
||||
except IndexError:
|
||||
pass
|
||||
|
||||
sentry_sdk.init("https://5034bf0054fb4b889f82896326e79b13@sentry.io/1821564",
|
||||
environment = sentry_env,
|
||||
release = "cura%s" % ApplicationMetadata.CuraVersion,
|
||||
default_integrations = False,
|
||||
max_breadcrumbs = 300,
|
||||
server_name = "cura")
|
||||
|
||||
if not known_args["debug"]:
|
||||
def get_cura_dir_path():
|
||||
if Platform.isWindows():
|
||||
|
1
docs/Profile Stack.drawio
Normal file
1
docs/Profile Stack.drawio
Normal file
@ -0,0 +1 @@
|
||||
<mxfile host="www.draw.io" modified="2019-12-20T12:41:33.716Z" agent="Mozilla/5.0 (X11; Fedora; Linux x86_64; rv:66.0) Gecko/20100101 Firefox/66.0" etag="exp7abRcULgdJsv-qAei" version="12.4.3" type="device" pages="1"><diagram id="05EojhSyumsKE0fvOSX8" name="Page-1">7ZtNb9s4EIZ/jY+70LftY+NkuwskQFrvts2pYCRaIkqLBkXXcn79Di3Ssk3ZTR195EDAB82IpIZ8ZgzxBTXyZ8vyI0er7IElmI48JylH/u3I89zA80by5yTbyjOOxpUj5SRRjWrHnLxg5XSUd00SXBw1FIxRQVbHzpjlOY7FkQ9xzjbHzRaMHj91hVJsOOYxoqb3K0lEVnkn3rj2/41Jmuknu9G0urNEurGaSZGhhG0OXP7dyJ9xxkR1tSxnmMrF0+tS9fvrzN19YBzn4jUdvnDvJQzwv+sXOp0/lfHk+3fxh1+N8hPRtZrwXSn4OsF8LlD8Q0Uutno5ig1ZUpSDdbNguZirOw7YcUZoco+2bC3DKWR3bd1kjJMXaI8o3HLBAbe5ULS9SI5GKJ0xyjg4crZ7QN2piqV6DMcFdHvU03ZPXA+oPGp4jwqhA2SUolVBnnchy45LxFOS3zAh2FI1UuuBucDl2YV29/gg7zFbYsG30ER3mCriKuXdsbI3dQK5gfJlB8nj+YFKXJW06X7smitcKLS/gTkwMP9XYG7QhTmLHRzOfuATGg2AECVpDibFC9lNLhqByvmg3IKt5GArFJM8vd+1uQ1qz2c1celi0HdBd9WRkSTBueTHBBLoeZ9fK0ZysVuY8AZ+sH4z589wFELgM7Dd2oafbM7FjOUwF0R23DBkwgbLbHgd5PP1YpJXpCGTXwc66ohzaHD+tAZKQsY4y1Cewl+phd4u9NAbGHpkQP8nF3JGlnS7pMeTgUmPz5e3Rd0qatcJBmY9MVg/IIE5gVcoC7tl2P5rX9C6gj01YH9BgNr+h7fPOhz6HU3vbA9g3+IFyYkgLLfvad2Rnwz9oua6F8lb3u1uxpyhX9c8k/dHyp61nmG1lbdrK4GWEw8g+06v2opWOK248tZ6Psf+vLrSjLqzejbVUiuvdI69QV/pGbupnlqBpRvWDQpLz6wvKKgWdruwmzSWnmmb0qkVWTrD3aCy9Izb1E+tzNIV7QadpWfapoJqdZZe0DcILT2jN/VUK7R0uDFrUFr6Be6ae3B7juWtWosfvrtzLK65A7day1UlXVXM+z3J4pqbbqu1dI598LMsrrn/tlpLN6wHP83imrtvq7V0BHv48yyuufm2WktnuAc/0eKau2+rtXRFe/gzLZc33PaFrTP0gx9q0Z+3WK2ln43Z4KdafBO4gRnnyQf58RVYMUVFQWKpg4illk1gCfj2m1x2WE9lPikKO+O2PLK22iqJOOgG1pMeEa7rTtLQfargcGJ853Wig8AE2JrH+NLUq3YC8RRfo5cdMAsbkGkfxxQJ8vM43iaO6gmPMm9H58/I6BLVQ1TzVL3qbDAG8oLjgaLpyUDVQhgDAXq0PWim6upswF50ErDvXIzLDy62h4sqgjrH9wzekPbmYa7fT/sr0lcaj/CaDPFjflgUV5RPi6Wgc+qd10LknaTK+MpaiMa/KKqWaiE4DbjfWgCz/iK1al5/1+vf/Q8=</diagram></mxfile>
|
BIN
docs/Profile Stack.png
Normal file
BIN
docs/Profile Stack.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 17 KiB |
1
docs/Profile Structure.drawio
Normal file
1
docs/Profile Structure.drawio
Normal file
@ -0,0 +1 @@
|
||||
<mxfile host="www.draw.io" modified="2019-12-20T12:34:56.339Z" agent="Mozilla/5.0 (X11; Fedora; Linux x86_64; rv:66.0) Gecko/20100101 Firefox/66.0" etag="1NLsmsxIqXUmOJee4m9D" version="12.4.3" type="device" pages="1"><diagram id="K0t5C8WxT4tyKudoHXNk" name="Page-1">7VzbcqM4EP0aP+4WSFzsx8SZmd2tpCqTbO1kn1KKkW3VYOQBObHn61cyF0MLM9jhkmyo8gMSLXQ5R+rTDckIT1fbLyFZL2+4R/0RMrztCF+NEDIthEbqZ3i7uMZ13LhiETIvMTpU3LOfNKk0ktoN82hUMBSc+4Kti5UzHgR0Jgp1JAz5S9Fszv1ir2uyoFrF/Yz4eu035ollXDtG7qH+D8oWy7Rn05nEd1YkNU5mEi2Jx19yVfjTCE9DzkV8tdpOqa8WL12XuN3nI3ezgYU0EHUa/OXdPfz4exV+fRLWl92tG9388/m35CnPxN8kE/4zEOqB8ZDFLl2H6IWtfBLI0uWcB+I+uWPI8mzJfO+a7PhGjSMSZPY9LV0uech+Snviy1umrJC3Q5HAjFXrOfP9Kfd5KCsCvu/g0OhePSzpJqSRbHabztcEVTdkWzC8JpFIB8h9n6wj9rQfsmq4IuGCBZdcCL5KjJKFoKGg26MrbGa4ScJTvqIi3EmTtIGTQJ1w3URWXH45MMecJDbLPGvShiRh6yJ7dtbdnWQ3CRZyCll/2SZJ+7MMrT+npDvkFHsjvqBhQAS95JvAi/Iskhe5mR6q9tw6gWdY4xnb8+xxJrtdcDVTOSi8vciQyHFPIiL21An5dwq4UkIf4rNFIIs+natmClImN/RFUi34Wj1sTWYsWFzvba6sQ81dsk6qisu2c3+/aZfM82ig2MUFEeQpY/+ay5nsF9K+lD+53FPjd3tky4FPZdk8lOVPmYdiygM5F8L2rKKSpy9UcbUeBY9vY52XCS+wTotSGkJe5FlYIMSp6Fsa+vJ0pCGTp8KAdbNY207PWE80rD06ZwETjAcD2g2jPUY9o516oBzcz0RubKUghgO9LdhNY9w37rpw/LGROIndo9it6YB404jjmlKyNcRtDfCvMeCdhApyWv+vUMEtSndslmg0qyxUwBWhwqsAdgaR1txutit3MyoRaWVgt7aZ3eH07hJvu0SmdYr3eFBp3aPuloi0TlE39SM9H4sNyLeFvGmUqLVuoddPeA1lGngXKkMuSzOfRBGbKUElVqn+olsmHpJFV9f/qmu5snHpapu7dbVLC4Ec/UO+kGuliodm+1LaLh4c9bRkPBBUcgJ8E85o1dTT1wRSuNEqDN1yDHOY2SWQpXUh9Ylgz8XxVuRvbxVtcwJwXBSAaAIeEc8zaZVP64MHZe8XMl8DHhSvg/YgCT3Z5cySbXV8wBgM2DUrxwXtsWsDVscjaDTNbOqO7qiIHcKUX4cpFgDRrKtkshOw+ZNNTzA+kYg+ylUfhOsZaYdxpSfrPVJBeoJxyCe3h3fvkQrSE4tZqDKA3SzYvQcoqSh9lUo9U3Gm6jZVunXUbYMq1aopUmN315dKxSBNmanWU1WqBT5VQJZbS6U2JQyR/gr62LEy6MLTdSEa1wx40yOn+aNEfz8RkNWgCE93GvFWecOKsDqrNeDdLN79K0I9pv8oImFcUySgI+nIbkSCbYAMlHumSLBtmMoCD2oolQXFiGUYleOC9hhhwOoWUln4pMB3EC2/Fi0OyJRip+bRlh6BjR9tWA92pf3gwk51YdgoB/6tSBasRx+nu7AzXNFbeBvj1PRh+Mjm7caHWeDTffvcQNcGvsKG3+s05cMs4MOSv0g56sOgvVF4fdOSD9ODso/Ce/Q+eI9AIO+cy3voXG2rHd7bE+DErUn1fpz0wXs9RO2W92Z/vDfeBe8d+HYahhp1ee+CDKkFN1BDvHcBj5FZfd5D+2543+BXJ++N93W/Ouk3VncMSItzz3sQq2O7Hd7DASMLV4/LgBu7i1hd/ybhdN6fyeFzvtJqkPeTd3Hcm4AVDlTldWlvwhRVS8e9Cd+XmdUyB9pbdnVKS3MPp9p34U4sPT3SrTvpMWyuK6P6dSdaZnRy5r6C8TduKXzQ30Pb1ePqI/VroQ/L+7pRc7+fRcDX35ror0178BWw1VK2CI/h9qp2J9DenLzquJfFw/85ic0P/y0Gf/oP</diagram></mxfile>
|
BIN
docs/Profile Structure.png
Normal file
BIN
docs/Profile Structure.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 22 KiB |
@ -790,7 +790,7 @@ class ThreeMFWorkspaceReader(WorkspaceReader):
|
||||
container_info = ContainerInfo(None, None, None)
|
||||
quality_changes_info.extruder_info_dict["0"] = container_info
|
||||
# If the global stack we're "targeting" has never been active, but was updated from Cura 3.4,
|
||||
# it might not have it's extruders set properly.
|
||||
# it might not have its extruders set properly.
|
||||
if not global_stack.extruders:
|
||||
ExtruderManager.getInstance().fixSingleExtrusionMachineExtruderDefinition(global_stack)
|
||||
extruder_stack = global_stack.extruders["0"]
|
||||
|
@ -97,7 +97,6 @@ Cura.MachineAction
|
||||
text: Cura.MachineManager.activeMachine.name
|
||||
horizontalAlignment: Text.AlignHCenter
|
||||
font: UM.Theme.getFont("large_bold")
|
||||
color: UM.Theme.getColor("text")
|
||||
renderType: Text.NativeRendering
|
||||
}
|
||||
|
||||
|
@ -40,11 +40,13 @@ Item
|
||||
// update active type label
|
||||
for (var button in meshTypeButtons.children)
|
||||
{
|
||||
if (meshTypeButtons.children[button].checked){
|
||||
if (meshTypeButtons.children[button].checked)
|
||||
{
|
||||
meshTypeLabel.text = catalog.i18nc("@label", "Mesh Type") + ": " + meshTypeButtons.children[button].text
|
||||
break
|
||||
}
|
||||
}
|
||||
visibility_handler.addSkipResetSetting(currentMeshType)
|
||||
}
|
||||
|
||||
function setOverhangsMeshType()
|
||||
@ -129,7 +131,7 @@ Item
|
||||
|
||||
}
|
||||
|
||||
Label
|
||||
Label
|
||||
{
|
||||
id: meshTypeLabel
|
||||
font: UM.Theme.getFont("default")
|
||||
@ -203,6 +205,7 @@ Item
|
||||
|
||||
visibilityHandler: Cura.PerObjectSettingVisibilityHandler
|
||||
{
|
||||
id: visibility_handler
|
||||
selectedObjectId: UM.ActiveTool.properties.getValue("SelectedObjectId")
|
||||
}
|
||||
|
||||
@ -319,10 +322,7 @@ Item
|
||||
Connections
|
||||
{
|
||||
target: inheritStackProvider
|
||||
onPropertiesChanged:
|
||||
{
|
||||
provider.forcePropertiesChanged()
|
||||
}
|
||||
onPropertiesChanged: provider.forcePropertiesChanged()
|
||||
}
|
||||
|
||||
Connections
|
||||
@ -458,5 +458,4 @@ Item
|
||||
|
||||
Cura.SettingUnknown { }
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -7,133 +7,129 @@ import Cura 1.0 as Cura
|
||||
import ".."
|
||||
|
||||
UM.Dialog
|
||||
{
|
||||
id: settingPickDialog
|
||||
|
||||
title: catalog.i18nc("@title:window", "Select Settings to Customize for this model")
|
||||
width: screenScaleFactor * 360
|
||||
|
||||
property var additional_excluded_settings
|
||||
|
||||
onVisibilityChanged:
|
||||
{
|
||||
id: settingPickDialog
|
||||
|
||||
title: catalog.i18nc("@title:window", "Select Settings to Customize for this model")
|
||||
width: screenScaleFactor * 360
|
||||
|
||||
property var additional_excluded_settings
|
||||
|
||||
onVisibilityChanged:
|
||||
// force updating the model to sync it with addedSettingsModel
|
||||
if (visible)
|
||||
{
|
||||
// force updating the model to sync it with addedSettingsModel
|
||||
if (visible)
|
||||
{
|
||||
// Set skip setting, it will prevent from resetting selected mesh_type
|
||||
contents.model.visibilityHandler.addSkipResetSetting(currentMeshType)
|
||||
listview.model.forceUpdate()
|
||||
listview.model.forceUpdate()
|
||||
updateFilter()
|
||||
}
|
||||
}
|
||||
|
||||
updateFilter()
|
||||
}
|
||||
function updateFilter()
|
||||
{
|
||||
var new_filter = {}
|
||||
new_filter["settable_per_mesh"] = true
|
||||
// Don't filter on "settable_per_meshgroup" any more when `printSequencePropertyProvider.properties.value`
|
||||
// is set to "one_at_a_time", because the current backend architecture isn't ready for that.
|
||||
|
||||
if (filterInput.text != "")
|
||||
{
|
||||
new_filter["i18n_label"] = "*" + filterInput.text
|
||||
}
|
||||
|
||||
function updateFilter()
|
||||
listview.model.filter = new_filter
|
||||
}
|
||||
|
||||
TextField
|
||||
{
|
||||
id: filterInput
|
||||
|
||||
anchors
|
||||
{
|
||||
var new_filter = {}
|
||||
new_filter["settable_per_mesh"] = true
|
||||
// Don't filter on "settable_per_meshgroup" any more when `printSequencePropertyProvider.properties.value`
|
||||
// is set to "one_at_a_time", because the current backend architecture isn't ready for that.
|
||||
|
||||
if (filterInput.text != "")
|
||||
{
|
||||
new_filter["i18n_label"] = "*" + filterInput.text
|
||||
}
|
||||
|
||||
listview.model.filter = new_filter
|
||||
top: parent.top
|
||||
left: parent.left
|
||||
right: toggleShowAll.left
|
||||
rightMargin: UM.Theme.getSize("default_margin").width
|
||||
}
|
||||
|
||||
TextField {
|
||||
id: filterInput
|
||||
placeholderText: catalog.i18nc("@label:textbox", "Filter...")
|
||||
|
||||
anchors {
|
||||
top: parent.top
|
||||
left: parent.left
|
||||
right: toggleShowAll.left
|
||||
rightMargin: UM.Theme.getSize("default_margin").width
|
||||
}
|
||||
onTextChanged: settingPickDialog.updateFilter()
|
||||
}
|
||||
|
||||
placeholderText: catalog.i18nc("@label:textbox", "Filter...")
|
||||
CheckBox
|
||||
{
|
||||
id: toggleShowAll
|
||||
|
||||
onTextChanged: settingPickDialog.updateFilter()
|
||||
anchors
|
||||
{
|
||||
top: parent.top
|
||||
right: parent.right
|
||||
}
|
||||
|
||||
CheckBox
|
||||
text: catalog.i18nc("@label:checkbox", "Show all")
|
||||
checked: listview.model.showAll
|
||||
onClicked: listview.model.showAll = checked
|
||||
}
|
||||
|
||||
ScrollView
|
||||
{
|
||||
id: scrollView
|
||||
|
||||
anchors
|
||||
{
|
||||
id: toggleShowAll
|
||||
|
||||
anchors {
|
||||
top: parent.top
|
||||
right: parent.right
|
||||
}
|
||||
|
||||
text: catalog.i18nc("@label:checkbox", "Show all")
|
||||
checked: listview.model.showAll
|
||||
onClicked:
|
||||
{
|
||||
listview.model.showAll = checked
|
||||
}
|
||||
top: filterInput.bottom
|
||||
left: parent.left
|
||||
right: parent.right
|
||||
bottom: parent.bottom
|
||||
}
|
||||
|
||||
ScrollView
|
||||
ListView
|
||||
{
|
||||
id: scrollView
|
||||
|
||||
anchors
|
||||
id:listview
|
||||
model: UM.SettingDefinitionsModel
|
||||
{
|
||||
top: filterInput.bottom
|
||||
left: parent.left
|
||||
right: parent.right
|
||||
bottom: parent.bottom
|
||||
}
|
||||
ListView
|
||||
{
|
||||
id:listview
|
||||
model: UM.SettingDefinitionsModel
|
||||
id: definitionsModel
|
||||
containerId: Cura.MachineManager.activeMachine != null ? Cura.MachineManager.activeMachine.definition.id: ""
|
||||
visibilityHandler: UM.SettingPreferenceVisibilityHandler {}
|
||||
expanded: [ "*" ]
|
||||
exclude:
|
||||
{
|
||||
id: definitionsModel
|
||||
containerId: Cura.MachineManager.activeMachine != null ? Cura.MachineManager.activeMachine.definition.id: ""
|
||||
visibilityHandler: UM.SettingPreferenceVisibilityHandler {}
|
||||
expanded: [ "*" ]
|
||||
exclude:
|
||||
var excluded_settings = [ "machine_settings", "command_line_settings", "support_mesh", "anti_overhang_mesh", "cutting_mesh", "infill_mesh" ]
|
||||
excluded_settings = excluded_settings.concat(settingPickDialog.additional_excluded_settings)
|
||||
return excluded_settings
|
||||
}
|
||||
}
|
||||
delegate:Loader
|
||||
{
|
||||
id: loader
|
||||
|
||||
width: parent.width
|
||||
height: model.type != undefined ? UM.Theme.getSize("section").height : 0
|
||||
|
||||
property var definition: model
|
||||
property var settingDefinitionsModel: definitionsModel
|
||||
|
||||
asynchronous: true
|
||||
source:
|
||||
{
|
||||
switch(model.type)
|
||||
{
|
||||
var excluded_settings = [ "machine_settings", "command_line_settings", "support_mesh", "anti_overhang_mesh", "cutting_mesh", "infill_mesh" ]
|
||||
excluded_settings = excluded_settings.concat(settingPickDialog.additional_excluded_settings)
|
||||
return excluded_settings
|
||||
case "category":
|
||||
return "PerObjectCategory.qml"
|
||||
default:
|
||||
return "PerObjectItem.qml"
|
||||
}
|
||||
}
|
||||
delegate:Loader
|
||||
{
|
||||
id: loader
|
||||
|
||||
width: parent.width
|
||||
height: model.type != undefined ? UM.Theme.getSize("section").height : 0
|
||||
|
||||
property var definition: model
|
||||
property var settingDefinitionsModel: definitionsModel
|
||||
|
||||
asynchronous: true
|
||||
source:
|
||||
{
|
||||
switch(model.type)
|
||||
{
|
||||
case "category":
|
||||
return "PerObjectCategory.qml"
|
||||
default:
|
||||
return "PerObjectItem.qml"
|
||||
}
|
||||
}
|
||||
}
|
||||
Component.onCompleted: settingPickDialog.updateFilter()
|
||||
}
|
||||
Component.onCompleted: settingPickDialog.updateFilter()
|
||||
}
|
||||
}
|
||||
|
||||
rightButtons: [
|
||||
Button {
|
||||
text: catalog.i18nc("@action:button", "Close")
|
||||
onClicked: {
|
||||
settingPickDialog.visible = false
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
rightButtons: [
|
||||
Button
|
||||
{
|
||||
text: catalog.i18nc("@action:button", "Close")
|
||||
onClicked: settingPickDialog.visible = false
|
||||
}
|
||||
]
|
||||
}
|
55
plugins/SentryLogger/SentryLogger.py
Normal file
55
plugins/SentryLogger/SentryLogger.py
Normal file
@ -0,0 +1,55 @@
|
||||
# Copyright (c) 2019 Ultimaker B.V.
|
||||
# Cura is released under the terms of the LGPLv3 or higher.
|
||||
|
||||
from UM.Logger import LogOutput
|
||||
from typing import Set
|
||||
from sentry_sdk import add_breadcrumb
|
||||
from typing import Optional
|
||||
import os
|
||||
|
||||
home_dir = os.path.expanduser("~")
|
||||
|
||||
|
||||
class SentryLogger(LogOutput):
|
||||
# Sentry (https://sentry.io) is the service that Cura uses for logging crashes. This logger ensures that the
|
||||
# regular log entries that we create are added as breadcrumbs so when a crash actually happens, they are already
|
||||
# processed and ready for sending.
|
||||
# Note that this only prepares them for sending. It only sends them when the user actually agrees to sending the
|
||||
# information.
|
||||
|
||||
_levels = {
|
||||
"w": "warning",
|
||||
"i": "info",
|
||||
"c": "fatal",
|
||||
"e": "error",
|
||||
"d": "debug"
|
||||
}
|
||||
|
||||
def __init__(self) -> None:
|
||||
super().__init__()
|
||||
self._show_once = set() # type: Set[str]
|
||||
|
||||
## Log the message to the sentry hub as a breadcrumb
|
||||
# \param log_type "e" (error), "i"(info), "d"(debug), "w"(warning) or "c"(critical) (can postfix with "_once")
|
||||
# \param message String containing message to be logged
|
||||
def log(self, log_type: str, message: str) -> None:
|
||||
level = self._translateLogType(log_type)
|
||||
message = self._pruneSensitiveData(message)
|
||||
if level is None:
|
||||
if message not in self._show_once:
|
||||
level = self._translateLogType(log_type[0])
|
||||
if level is not None:
|
||||
self._show_once.add(message)
|
||||
add_breadcrumb(level = level, message = message)
|
||||
else:
|
||||
add_breadcrumb(level = level, message = message)
|
||||
|
||||
@staticmethod
|
||||
def _pruneSensitiveData(message):
|
||||
if home_dir in message:
|
||||
message = message.replace(home_dir, "<user_home>")
|
||||
return message
|
||||
|
||||
@staticmethod
|
||||
def _translateLogType(log_type: str) -> Optional[str]:
|
||||
return SentryLogger._levels.get(log_type)
|
16
plugins/SentryLogger/__init__.py
Normal file
16
plugins/SentryLogger/__init__.py
Normal file
@ -0,0 +1,16 @@
|
||||
# Copyright (c) 2019 Ultimaker B.V.
|
||||
# Cura is released under the terms of the LGPLv3 or higher.
|
||||
from typing import TYPE_CHECKING, Dict, Any
|
||||
|
||||
from . import SentryLogger
|
||||
|
||||
if TYPE_CHECKING:
|
||||
from UM.Application import Application
|
||||
|
||||
|
||||
def getMetaData() -> Dict[str, Any]:
|
||||
return {}
|
||||
|
||||
|
||||
def register(app: "Application") -> Dict[str, Any]:
|
||||
return {"logger": SentryLogger.SentryLogger()}
|
8
plugins/SentryLogger/plugin.json
Normal file
8
plugins/SentryLogger/plugin.json
Normal file
@ -0,0 +1,8 @@
|
||||
{
|
||||
"name": "Sentry Logger",
|
||||
"author": "Ultimaker B.V.",
|
||||
"version": "1.0.0",
|
||||
"description": "Logs certain events so that they can be used by the crash reporter",
|
||||
"api": "7.0",
|
||||
"i18n-catalog": "cura"
|
||||
}
|
@ -65,10 +65,7 @@ class SolidView(View):
|
||||
else:
|
||||
self._support_angle = support_angle_stack.getProperty("support_angle", "value")
|
||||
|
||||
def beginRendering(self):
|
||||
scene = self.getController().getScene()
|
||||
renderer = self.getRenderer()
|
||||
|
||||
def _checkSetup(self):
|
||||
if not self._extruders_model:
|
||||
self._extruders_model = Application.getInstance().getExtrudersModel()
|
||||
|
||||
@ -95,6 +92,12 @@ class SolidView(View):
|
||||
self._support_mesh_shader.setUniformValue("u_vertical_stripes", True)
|
||||
self._support_mesh_shader.setUniformValue("u_width", 5.0)
|
||||
|
||||
def beginRendering(self):
|
||||
scene = self.getController().getScene()
|
||||
renderer = self.getRenderer()
|
||||
|
||||
self._checkSetup()
|
||||
|
||||
global_container_stack = Application.getInstance().getGlobalContainerStack()
|
||||
if global_container_stack:
|
||||
if Application.getInstance().getPreferences().getValue("view/show_overhang"):
|
||||
|
@ -239,7 +239,7 @@ class VersionUpgrade41to42(VersionUpgrade):
|
||||
#
|
||||
# This renames the renamed settings in the containers.
|
||||
def upgradeInstanceContainer(self, serialized: str, filename: str) -> Tuple[List[str], List[str]]:
|
||||
parser = configparser.ConfigParser(interpolation = None, comment_prefixes=())
|
||||
parser = configparser.ConfigParser(interpolation = None, comment_prefixes = ())
|
||||
parser.read_string(serialized)
|
||||
|
||||
# Update version number.
|
||||
|
@ -104,7 +104,7 @@ class VersionUpgrade42to43(VersionUpgrade):
|
||||
#
|
||||
# This renames the renamed settings in the containers.
|
||||
def upgradeInstanceContainer(self, serialized: str, filename: str) -> Tuple[List[str], List[str]]:
|
||||
parser = configparser.ConfigParser(interpolation = None, comment_prefixes=())
|
||||
parser = configparser.ConfigParser(interpolation = None, comment_prefixes = ())
|
||||
parser.read_string(serialized)
|
||||
|
||||
# Update version number.
|
||||
|
@ -52,7 +52,7 @@ class VersionUpgrade43to44(VersionUpgrade):
|
||||
#
|
||||
# This renames the renamed settings in the containers.
|
||||
def upgradeInstanceContainer(self, serialized: str, filename: str) -> Tuple[List[str], List[str]]:
|
||||
parser = configparser.ConfigParser(interpolation = None, comment_prefixes=())
|
||||
parser = configparser.ConfigParser(interpolation = None, comment_prefixes = ())
|
||||
parser.read_string(serialized)
|
||||
|
||||
# Update version number.
|
||||
|
@ -3,10 +3,17 @@ from typing import Tuple, List
|
||||
import io
|
||||
from UM.VersionUpgrade import VersionUpgrade
|
||||
|
||||
# Merged preferences: machine_head_polygon and machine_head_with_fans_polygon -> machine_head_with_fans_polygon
|
||||
# When both are present, machine_head_polygon will be removed
|
||||
# When only one of the two is present, it's value will be used
|
||||
# Settings that were merged into one. Each one is a pair of settings. If both
|
||||
# are overwritten, the key wins. If only the key or the value is overwritten,
|
||||
# that value is used in the key.
|
||||
_merged_settings = {
|
||||
"machine_head_with_fans_polygon": "machine_head_polygon",
|
||||
"support_wall_count": "support_tree_wall_count"
|
||||
}
|
||||
|
||||
_removed_settings = {
|
||||
"support_tree_wall_thickness"
|
||||
}
|
||||
|
||||
class VersionUpgrade44to45(VersionUpgrade):
|
||||
def getCfgVersion(self, serialised: str) -> int:
|
||||
@ -35,20 +42,26 @@ class VersionUpgrade44to45(VersionUpgrade):
|
||||
#
|
||||
# This renames the renamed settings in the containers.
|
||||
def upgradeInstanceContainer(self, serialized: str, filename: str) -> Tuple[List[str], List[str]]:
|
||||
parser = configparser.ConfigParser(interpolation = None, comment_prefixes=())
|
||||
parser = configparser.ConfigParser(interpolation = None, comment_prefixes = ())
|
||||
parser.read_string(serialized)
|
||||
|
||||
# Update version number.
|
||||
parser["metadata"]["setting_version"] = "11"
|
||||
|
||||
if "values" in parser:
|
||||
# merge machine_head_with_fans_polygon (preferred) and machine_head_polygon
|
||||
if "machine_head_with_fans_polygon" in parser["values"]:
|
||||
if "machine_head_polygon" in parser["values"]:
|
||||
del parser["values"]["machine_head_polygon"]
|
||||
elif "machine_head_polygon" in parser["values"]:
|
||||
parser["values"]["machine_head_with_fans_polygon"] = parser["values"]["machine_head_polygon"]
|
||||
del parser["values"]["machine_head_polygon"]
|
||||
# Merged settings: When two settings are merged, one is preferred.
|
||||
# If the preferred one is available, that value is taken regardless
|
||||
# of the other one. If only the non-preferred one is available, that
|
||||
# value is moved to the preferred setting value.
|
||||
for preferred, removed in _merged_settings.items():
|
||||
if removed in parser["values"]:
|
||||
if preferred not in parser["values"]:
|
||||
parser["values"][preferred] = parser["values"][removed]
|
||||
del parser["values"][removed]
|
||||
|
||||
for removed in _removed_settings:
|
||||
if removed in parser["values"]:
|
||||
del parser["values"][removed]
|
||||
|
||||
result = io.StringIO()
|
||||
parser.write(result)
|
||||
|
@ -1106,6 +1106,12 @@ class XmlMaterialProfile(InstanceContainer):
|
||||
"break preparation speed": "material_break_preparation_speed",
|
||||
"break preparation temperature": "material_break_preparation_temperature",
|
||||
"break position": "material_break_retracted_position",
|
||||
"flush purge speed": "material_flush_purge_speed",
|
||||
"flush purge length": "material_flush_purge_length",
|
||||
"end of filament purge speed": "material_end_of_filament_purge_speed",
|
||||
"end of filament purge length": "material_end_of_filament_purge_length",
|
||||
"maximum park duration": "material_maximum_park_duration",
|
||||
"no load move factor": "material_no_load_move_factor",
|
||||
"break speed": "material_break_speed",
|
||||
"break temperature": "material_break_temperature"
|
||||
} # type: Dict[str, str]
|
||||
|
@ -407,6 +407,23 @@
|
||||
}
|
||||
}
|
||||
},
|
||||
"SentryLogger": {
|
||||
"package_info": {
|
||||
"package_id": "SentryLogger",
|
||||
"package_type": "plugin",
|
||||
"display_name": "Sentry Logger",
|
||||
"description": "Logs certain events so that they can be used by the crash reporter",
|
||||
"package_version": "1.0.0",
|
||||
"sdk_version": "7.0.0",
|
||||
"website": "https://ultimaker.com",
|
||||
"author": {
|
||||
"author_id": "UltimakerPackages",
|
||||
"display_name": "Ultimaker B.V.",
|
||||
"email": "plugins@ultimaker.com",
|
||||
"website": "https://ultimaker.com"
|
||||
}
|
||||
}
|
||||
},
|
||||
"SimulationView": {
|
||||
"package_info": {
|
||||
"package_id": "SimulationView",
|
||||
|
@ -58,9 +58,6 @@
|
||||
"machine_nozzle_head_distance": {
|
||||
"default_value": 5
|
||||
},
|
||||
"machine_nozzle_expansion_angle": {
|
||||
"default_value": 45
|
||||
},
|
||||
"machine_heat_zone_length": {
|
||||
"default_value": 20
|
||||
},
|
||||
|
152
resources/definitions/anet3d.def.json
Normal file
152
resources/definitions/anet3d.def.json
Normal file
@ -0,0 +1,152 @@
|
||||
{
|
||||
"version": 2,
|
||||
"name": "anet3d",
|
||||
"inherits": "fdmprinter",
|
||||
"metadata": {
|
||||
"author": "Tiger.He",
|
||||
"manufacturer": "Anet",
|
||||
"category": "anet3d",
|
||||
"visible": false,
|
||||
"file_formats": "text/x-gcode",
|
||||
"first_start_actions": ["MachineSettingsAction"],
|
||||
|
||||
"preferred_variant_name": "0.4mm Nozzle",
|
||||
"preferred_quality_type": "standard",
|
||||
"preferred_material": "generic_pla",
|
||||
"machine_extruder_trains":
|
||||
{
|
||||
"0": "anet3d_extruder_0"
|
||||
}
|
||||
},
|
||||
"overrides": {
|
||||
"machine_max_feedrate_x": { "value": 500 },
|
||||
"machine_max_feedrate_y": { "value": 500 },
|
||||
"machine_max_feedrate_z": { "value": 10 },
|
||||
"machine_max_feedrate_e": { "value": 50 },
|
||||
|
||||
"machine_max_acceleration_x": { "value": 500 },
|
||||
"machine_max_acceleration_y": { "value": 500 },
|
||||
"machine_max_acceleration_z": { "value": 100 },
|
||||
"machine_max_acceleration_e": { "value": 5000 },
|
||||
"machine_acceleration": { "value": 500 },
|
||||
|
||||
"machine_max_jerk_xy": { "value": 10 },
|
||||
"machine_max_jerk_z": { "value": 0.4 },
|
||||
"machine_max_jerk_e": { "value": 5 },
|
||||
|
||||
"machine_heated_bed": { "default_value": true },
|
||||
|
||||
"material_diameter": { "default_value": 1.75 },
|
||||
|
||||
"acceleration_print": { "value": 1000 },
|
||||
"acceleration_travel": { "value": 1000 },
|
||||
"acceleration_travel_layer_0": { "value": "acceleration_travel" },
|
||||
"acceleration_roofing": { "enabled": "acceleration_enabled and roofing_layer_count > 0 and top_layers > 0" },
|
||||
|
||||
"jerk_print": { "value": 30.0 },
|
||||
"jerk_travel": { "value": "jerk_print" },
|
||||
"jerk_travel_layer_0": { "value": "jerk_travel" },
|
||||
|
||||
"acceleration_enabled": { "value": true },
|
||||
"jerk_enabled": { "value": false },
|
||||
|
||||
"speed_print": { "value": 50.0 } ,
|
||||
"speed_infill": { "value": "speed_print * 2" },
|
||||
"speed_wall": { "value": "speed_print / 2" },
|
||||
"speed_wall_0": { "value": "speed_wall" },
|
||||
"speed_wall_x": { "value": "speed_wall" },
|
||||
"speed_topbottom": { "value": "speed_print / 2" },
|
||||
"speed_roofing": { "value": "speed_topbottom" },
|
||||
"speed_travel": { "value": "150.0 if speed_print < 60 else 250.0 if speed_print > 100 else speed_print * 2.5" },
|
||||
"speed_layer_0": { "value": "speed_print / 2" },
|
||||
"speed_print_layer_0": { "value": "speed_layer_0" },
|
||||
"speed_travel_layer_0": { "value": "100 if speed_layer_0 < 20 else 150 if speed_layer_0 > 30 else speed_layer_0 * 5" },
|
||||
"speed_prime_tower": { "value": "speed_print" },
|
||||
"speed_support": { "value": "speed_print" },
|
||||
"speed_support_interface": { "value": "speed_print" },
|
||||
"speed_z_hop": { "value": 5 },
|
||||
|
||||
"skirt_brim_speed": { "value": "speed_layer_0" },
|
||||
|
||||
"line_width": { "value": "machine_nozzle_size" },
|
||||
|
||||
"optimize_wall_printing_order": { "value": true },
|
||||
|
||||
"material_initial_print_temperature": { "value": "material_print_temperature" },
|
||||
"material_final_print_temperature": { "value": "material_print_temperature" },
|
||||
"material_flow": { "value": 100 },
|
||||
"travel_compensate_overlapping_walls_0_enabled": { "value": "False" },
|
||||
|
||||
"z_seam_type": { "value": "'back'" },
|
||||
"z_seam_corner": { "value": "'z_seam_corner_weighted'" },
|
||||
|
||||
"infill_sparse_density": { "value": "20" },
|
||||
"infill_pattern": { "value": "'lines' if infill_sparse_density > 50 else 'cubic'" },
|
||||
"infill_before_walls": { "value": true },
|
||||
"infill_overlap": { "value": 30.0 },
|
||||
"skin_overlap": { "value": 10.0 },
|
||||
"infill_wipe_dist": { "value": 1.0 },
|
||||
"wall_0_wipe_dist": { "value": 0.2 },
|
||||
|
||||
"fill_perimeter_gaps": { "value": "'everywhere'" },
|
||||
"fill_outline_gaps": { "value": false },
|
||||
"filter_out_tiny_gaps": { "value": true },
|
||||
|
||||
"retraction_speed": {
|
||||
"maximum_value_warning": "machine_max_feedrate_e if retraction_enable else float('inf')",
|
||||
"maximum_value": 200
|
||||
},
|
||||
"retraction_retract_speed": {
|
||||
"maximum_value_warning": "machine_max_feedrate_e if retraction_enable else float('inf')",
|
||||
"maximum_value": 200
|
||||
},
|
||||
"retraction_prime_speed": {
|
||||
"maximum_value_warning": "machine_max_feedrate_e if retraction_enable else float('inf')",
|
||||
"maximum_value": 200
|
||||
},
|
||||
|
||||
"retraction_hop_enabled": { "value": "False" },
|
||||
"retraction_hop": { "value": 1 },
|
||||
"retraction_combing": { "value": "'off' if retraction_hop_enabled else 'noskin'" },
|
||||
"retraction_combing_max_distance": { "value": 30 },
|
||||
"travel_avoid_other_parts": { "value": true },
|
||||
"travel_avoid_supports": { "value": true },
|
||||
"travel_retract_before_outer_wall": { "value": true },
|
||||
|
||||
"retraction_enable": { "value": true },
|
||||
"retraction_count_max": { "value": 100 },
|
||||
"retraction_extrusion_window": { "value": 10 },
|
||||
"retraction_min_travel": { "value": 1.5 },
|
||||
|
||||
"cool_fan_full_at_height": { "value": "layer_height_0 + 2 * layer_height" },
|
||||
"cool_fan_enabled": { "value": true },
|
||||
"cool_min_layer_time": { "value": 10 },
|
||||
|
||||
"adaptive_layer_height_variation": { "value": 0.04 },
|
||||
"adaptive_layer_height_variation_step": { "value": 0.04 },
|
||||
|
||||
"meshfix_maximum_resolution": { "value": "0.05" },
|
||||
"meshfix_maximum_travel_resolution": { "value": "meshfix_maximum_resolution" },
|
||||
|
||||
"top_bottom_thickness": {"value": "layer_height_0 + layer_height * 3" },
|
||||
"wall_thickness": {"value": "line_width * 2" },
|
||||
|
||||
"material_print_temperature": {"minimum_value": "0"},
|
||||
"material_bed_temperature": {"minimum_value": "0"},
|
||||
"material_standby_temperature": {"minimum_value": "0"},
|
||||
|
||||
"extruder_prime_pos_y":{"minimum_value": "0","maximum_value": "machine_depth"},
|
||||
"extruder_prime_pos_x":{"minimum_value": "0","maximum_value": "machine_width"},
|
||||
"relative_extrusion":{"value": false,"enabled": false},
|
||||
|
||||
"machine_use_extruder_offset_to_offset_coords": {"default_value": true},
|
||||
"machine_gcode_flavor": {"default_value": "RepRap (Marlin/Sprinter)"},
|
||||
|
||||
"machine_center_is_zero": {
|
||||
"default_value": false
|
||||
},
|
||||
"gantry_height": {
|
||||
"value": "0"
|
||||
}
|
||||
}
|
||||
}
|
31
resources/definitions/anet3d_a2 plus.def.json
Normal file
31
resources/definitions/anet3d_a2 plus.def.json
Normal file
@ -0,0 +1,31 @@
|
||||
{
|
||||
"version": 2,
|
||||
"name": "Anet A2 PLUS",
|
||||
"inherits": "anet3d",
|
||||
"metadata": {
|
||||
"visible": true,
|
||||
"machine_extruder_trains":
|
||||
{
|
||||
"0": "anet3d_extruder_0"
|
||||
}
|
||||
},
|
||||
|
||||
"overrides": {
|
||||
"machine_name": { "default_value": "Anet A2 PLUS" },
|
||||
"machine_width": {
|
||||
"default_value": 220
|
||||
},
|
||||
"machine_depth": {
|
||||
"default_value": 270
|
||||
},
|
||||
"machine_height": {
|
||||
"default_value": 220
|
||||
},
|
||||
"machine_start_gcode": {
|
||||
"default_value": "G28 ;Home\nG1 Z15.0 F2000 ;Move the platform"
|
||||
},
|
||||
"machine_end_gcode": {
|
||||
"default_value": "M104 S0\nM140 S0\nG92 E80\nG1 E-80 F2000\nG28 X0 Y0\nM84"
|
||||
}
|
||||
}
|
||||
}
|
31
resources/definitions/anet3d_a2.def.json
Normal file
31
resources/definitions/anet3d_a2.def.json
Normal file
@ -0,0 +1,31 @@
|
||||
{
|
||||
"version": 2,
|
||||
"name": "Anet A2",
|
||||
"inherits": "anet3d",
|
||||
"metadata": {
|
||||
"visible": true,
|
||||
"machine_extruder_trains":
|
||||
{
|
||||
"0": "anet3d_extruder_0"
|
||||
}
|
||||
},
|
||||
|
||||
"overrides": {
|
||||
"machine_name": { "default_value": "Anet A2" },
|
||||
"machine_width": {
|
||||
"default_value": 220
|
||||
},
|
||||
"machine_depth": {
|
||||
"default_value": 220
|
||||
},
|
||||
"machine_height": {
|
||||
"default_value": 220
|
||||
},
|
||||
"machine_start_gcode": {
|
||||
"default_value": "G28 ;Home\nG1 Z15.0 F2000 ;Move the platform"
|
||||
},
|
||||
"machine_end_gcode": {
|
||||
"default_value": "M104 S0\nM140 S0\nG92 E80\nG1 E-80 F2000\nG28 X0 Y0\nM84"
|
||||
}
|
||||
}
|
||||
}
|
31
resources/definitions/anet3d_a6.def.json
Normal file
31
resources/definitions/anet3d_a6.def.json
Normal file
@ -0,0 +1,31 @@
|
||||
{
|
||||
"version": 2,
|
||||
"name": "Anet A6",
|
||||
"inherits": "anet3d",
|
||||
"metadata": {
|
||||
"visible": true,
|
||||
"machine_extruder_trains":
|
||||
{
|
||||
"0": "anet3d_extruder_0"
|
||||
}
|
||||
},
|
||||
|
||||
"overrides": {
|
||||
"machine_name": { "default_value": "Anet A6" },
|
||||
"machine_width": {
|
||||
"default_value": 220
|
||||
},
|
||||
"machine_depth": {
|
||||
"default_value": 220
|
||||
},
|
||||
"machine_height": {
|
||||
"default_value": 250
|
||||
},
|
||||
"machine_start_gcode": {
|
||||
"default_value": "G28 ;Home\nG1 Z15.0 F2000 ;Move the platform"
|
||||
},
|
||||
"machine_end_gcode": {
|
||||
"default_value": "M104 S0\nM140 S0\nG92 E80\nG1 E-80 F2000\nG28 X0 Y0\nM84"
|
||||
}
|
||||
}
|
||||
}
|
31
resources/definitions/anet3d_a8 plus.def.json
Normal file
31
resources/definitions/anet3d_a8 plus.def.json
Normal file
@ -0,0 +1,31 @@
|
||||
{
|
||||
"version": 2,
|
||||
"name": "Anet A8 PLUS",
|
||||
"inherits": "anet3d",
|
||||
"metadata": {
|
||||
"visible": true,
|
||||
"machine_extruder_trains":
|
||||
{
|
||||
"0": "anet3d_extruder_0"
|
||||
}
|
||||
},
|
||||
|
||||
"overrides": {
|
||||
"machine_name": { "default_value": "Anet A8 PLUS" },
|
||||
"machine_width": {
|
||||
"default_value": 300
|
||||
},
|
||||
"machine_depth": {
|
||||
"default_value": 300
|
||||
},
|
||||
"machine_height": {
|
||||
"default_value": 350
|
||||
},
|
||||
"machine_start_gcode": {
|
||||
"default_value": "G28 ;Home\nG1 Z15.0 F2000 ;Move the platform"
|
||||
},
|
||||
"machine_end_gcode": {
|
||||
"default_value": "M104 S0\nM140 S0\nG92 E80\nG1 E-80 F2000\nG28 X0 Y0\nM84"
|
||||
}
|
||||
}
|
||||
}
|
31
resources/definitions/anet3d_a8.def.json
Normal file
31
resources/definitions/anet3d_a8.def.json
Normal file
@ -0,0 +1,31 @@
|
||||
{
|
||||
"version": 2,
|
||||
"name": "Anet A8",
|
||||
"inherits": "anet3d",
|
||||
"metadata": {
|
||||
"visible": true,
|
||||
"machine_extruder_trains":
|
||||
{
|
||||
"0": "anet3d_extruder_0"
|
||||
}
|
||||
},
|
||||
|
||||
"overrides": {
|
||||
"machine_name": { "default_value": "Anet A8" },
|
||||
"machine_width": {
|
||||
"default_value": 220
|
||||
},
|
||||
"machine_depth": {
|
||||
"default_value": 220
|
||||
},
|
||||
"machine_height": {
|
||||
"default_value": 240
|
||||
},
|
||||
"machine_start_gcode": {
|
||||
"default_value": "G28 ;Home\nG1 Z15.0 F2000 ;Move the platform"
|
||||
},
|
||||
"machine_end_gcode": {
|
||||
"default_value": "M104 S0\nM140 S0\nG92 E80\nG1 E-80 F2000\nG28 X0 Y0\nM84"
|
||||
}
|
||||
}
|
||||
}
|
31
resources/definitions/anet3d_e10.def.json
Normal file
31
resources/definitions/anet3d_e10.def.json
Normal file
@ -0,0 +1,31 @@
|
||||
{
|
||||
"version": 2,
|
||||
"name": "Anet E10",
|
||||
"inherits": "anet3d",
|
||||
"metadata": {
|
||||
"visible": true,
|
||||
"machine_extruder_trains":
|
||||
{
|
||||
"0": "anet3d_extruder_0"
|
||||
}
|
||||
},
|
||||
|
||||
"overrides": {
|
||||
"machine_name": { "default_value": "Anet E10" },
|
||||
"machine_width": {
|
||||
"default_value": 220
|
||||
},
|
||||
"machine_depth": {
|
||||
"default_value": 270
|
||||
},
|
||||
"machine_height": {
|
||||
"default_value": 300
|
||||
},
|
||||
"machine_start_gcode": {
|
||||
"default_value": "G28 ;Home\nG1 Z15.0 F2000 ;Move the platform"
|
||||
},
|
||||
"machine_end_gcode": {
|
||||
"default_value": "M104 S0\nM140 S0\nG92 E80\nG1 E-80 F2000\nG28 X0 Y0\nM84"
|
||||
}
|
||||
}
|
||||
}
|
31
resources/definitions/anet3d_e12.def.json
Normal file
31
resources/definitions/anet3d_e12.def.json
Normal file
@ -0,0 +1,31 @@
|
||||
{
|
||||
"version": 2,
|
||||
"name": "Anet E12",
|
||||
"inherits": "anet3d",
|
||||
"metadata": {
|
||||
"visible": true,
|
||||
"machine_extruder_trains":
|
||||
{
|
||||
"0": "anet3d_extruder_0"
|
||||
}
|
||||
},
|
||||
|
||||
"overrides": {
|
||||
"machine_name": { "default_value": "Anet E12" },
|
||||
"machine_width": {
|
||||
"default_value": 300
|
||||
},
|
||||
"machine_depth": {
|
||||
"default_value": 300
|
||||
},
|
||||
"machine_height": {
|
||||
"default_value": 400
|
||||
},
|
||||
"machine_start_gcode": {
|
||||
"default_value": "G28 ;Home\nG1 Z15.0 F2000 ;Move the platform"
|
||||
},
|
||||
"machine_end_gcode": {
|
||||
"default_value": "M104 S0\nM140 S0\nG92 E80\nG1 E-80 F2000\nG28 X0 Y0\nM84"
|
||||
}
|
||||
}
|
||||
}
|
31
resources/definitions/anet3d_e16.def.json
Normal file
31
resources/definitions/anet3d_e16.def.json
Normal file
@ -0,0 +1,31 @@
|
||||
{
|
||||
"version": 2,
|
||||
"name": "Anet E16",
|
||||
"inherits": "anet3d",
|
||||
"metadata": {
|
||||
"visible": true,
|
||||
"machine_extruder_trains":
|
||||
{
|
||||
"0": "anet3d_extruder_0"
|
||||
}
|
||||
},
|
||||
|
||||
"overrides": {
|
||||
"machine_name": { "default_value": "Anet E16" },
|
||||
"machine_width": {
|
||||
"default_value": 300
|
||||
},
|
||||
"machine_depth": {
|
||||
"default_value": 300
|
||||
},
|
||||
"machine_height": {
|
||||
"default_value": 400
|
||||
},
|
||||
"machine_start_gcode": {
|
||||
"default_value": "G28 ;Home\nG1 Z15.0 F2000 ;Move the platform"
|
||||
},
|
||||
"machine_end_gcode": {
|
||||
"default_value": "M104 S0\nM140 S0\nG92 E80\nG1 E-80 F2000\nG28 X0 Y0\nM84"
|
||||
}
|
||||
}
|
||||
}
|
31
resources/definitions/anet3d_et4 pro.def.json
Normal file
31
resources/definitions/anet3d_et4 pro.def.json
Normal file
@ -0,0 +1,31 @@
|
||||
{
|
||||
"version": 2,
|
||||
"name": "Anet ET4 PRO",
|
||||
"inherits": "anet3d",
|
||||
"metadata": {
|
||||
"visible": true,
|
||||
"machine_extruder_trains":
|
||||
{
|
||||
"0": "anet3d_extruder_0"
|
||||
}
|
||||
},
|
||||
|
||||
"overrides": {
|
||||
"machine_name": { "default_value": "Anet ET4 PRO" },
|
||||
"machine_width": {
|
||||
"default_value": 220
|
||||
},
|
||||
"machine_depth": {
|
||||
"default_value": 220
|
||||
},
|
||||
"machine_height": {
|
||||
"default_value": 250
|
||||
},
|
||||
"machine_start_gcode": {
|
||||
"default_value": "G28 ;Home\nG1 Z15.0 F2000 ;Move the platform"
|
||||
},
|
||||
"machine_end_gcode": {
|
||||
"default_value": "M104 S0\nM140 S0\nG92 E80\nG1 E-80 F2000\nG28 X0 Y0\nM84"
|
||||
}
|
||||
}
|
||||
}
|
31
resources/definitions/anet3d_et4 x.def.json
Normal file
31
resources/definitions/anet3d_et4 x.def.json
Normal file
@ -0,0 +1,31 @@
|
||||
{
|
||||
"version": 2,
|
||||
"name": "Anet ET4 X",
|
||||
"inherits": "anet3d",
|
||||
"metadata": {
|
||||
"visible": true,
|
||||
"machine_extruder_trains":
|
||||
{
|
||||
"0": "anet3d_extruder_0"
|
||||
}
|
||||
},
|
||||
|
||||
"overrides": {
|
||||
"machine_name": { "default_value": "Anet ET4 X" },
|
||||
"machine_width": {
|
||||
"default_value": 220
|
||||
},
|
||||
"machine_depth": {
|
||||
"default_value": 220
|
||||
},
|
||||
"machine_height": {
|
||||
"default_value": 250
|
||||
},
|
||||
"machine_start_gcode": {
|
||||
"default_value": "G28 ;Home\nG1 Z15.0 F2000 ;Move the platform"
|
||||
},
|
||||
"machine_end_gcode": {
|
||||
"default_value": "M104 S0\nM140 S0\nG92 E80\nG1 E-80 F2000\nG28 X0 Y0\nM84"
|
||||
}
|
||||
}
|
||||
}
|
31
resources/definitions/anet3d_et4.def.json
Normal file
31
resources/definitions/anet3d_et4.def.json
Normal file
@ -0,0 +1,31 @@
|
||||
{
|
||||
"version": 2,
|
||||
"name": "Anet ET4",
|
||||
"inherits": "anet3d",
|
||||
"metadata": {
|
||||
"visible": true,
|
||||
"machine_extruder_trains":
|
||||
{
|
||||
"0": "anet3d_extruder_0"
|
||||
}
|
||||
},
|
||||
|
||||
"overrides": {
|
||||
"machine_name": { "default_value": "Anet ET4" },
|
||||
"machine_width": {
|
||||
"default_value": 220
|
||||
},
|
||||
"machine_depth": {
|
||||
"default_value": 220
|
||||
},
|
||||
"machine_height": {
|
||||
"default_value": 250
|
||||
},
|
||||
"machine_start_gcode": {
|
||||
"default_value": "G28 ;Home\nG1 Z15.0 F2000 ;Move the platform"
|
||||
},
|
||||
"machine_end_gcode": {
|
||||
"default_value": "M104 S0\nM140 S0\nG92 E80\nG1 E-80 F2000\nG28 X0 Y0\nM84"
|
||||
}
|
||||
}
|
||||
}
|
31
resources/definitions/anet3d_et5 x.def.json
Normal file
31
resources/definitions/anet3d_et5 x.def.json
Normal file
@ -0,0 +1,31 @@
|
||||
{
|
||||
"version": 2,
|
||||
"name": "Anet ET5 X",
|
||||
"inherits": "anet3d",
|
||||
"metadata": {
|
||||
"visible": true,
|
||||
"machine_extruder_trains":
|
||||
{
|
||||
"0": "anet3d_extruder_0"
|
||||
}
|
||||
},
|
||||
|
||||
"overrides": {
|
||||
"machine_name": { "default_value": "Anet ET5 X" },
|
||||
"machine_width": {
|
||||
"default_value": 300
|
||||
},
|
||||
"machine_depth": {
|
||||
"default_value": 300
|
||||
},
|
||||
"machine_height": {
|
||||
"default_value": 400
|
||||
},
|
||||
"machine_start_gcode": {
|
||||
"default_value": "G28 ;Home\nG1 Z15.0 F2000 ;Move the platform"
|
||||
},
|
||||
"machine_end_gcode": {
|
||||
"default_value": "M104 S0\nM140 S0\nG92 E80\nG1 E-80 F2000\nG28 X0 Y0\nM84"
|
||||
}
|
||||
}
|
||||
}
|
31
resources/definitions/anet3d_et5.def.json
Normal file
31
resources/definitions/anet3d_et5.def.json
Normal file
@ -0,0 +1,31 @@
|
||||
{
|
||||
"version": 2,
|
||||
"name": "Anet ET5",
|
||||
"inherits": "anet3d",
|
||||
"metadata": {
|
||||
"visible": true,
|
||||
"machine_extruder_trains":
|
||||
{
|
||||
"0": "anet3d_extruder_0"
|
||||
}
|
||||
},
|
||||
|
||||
"overrides": {
|
||||
"machine_name": { "default_value": "Anet ET5" },
|
||||
"machine_width": {
|
||||
"default_value": 300
|
||||
},
|
||||
"machine_depth": {
|
||||
"default_value": 300
|
||||
},
|
||||
"machine_height": {
|
||||
"default_value": 400
|
||||
},
|
||||
"machine_start_gcode": {
|
||||
"default_value": "G28 ;Home\nG1 Z15.0 F2000 ;Move the platform"
|
||||
},
|
||||
"machine_end_gcode": {
|
||||
"default_value": "M104 S0\nM140 S0\nG92 E80\nG1 E-80 F2000\nG28 X0 Y0\nM84"
|
||||
}
|
||||
}
|
||||
}
|
@ -1,45 +0,0 @@
|
||||
{
|
||||
"version": 2,
|
||||
"name": "Anet A6",
|
||||
"inherits": "fdmprinter",
|
||||
"metadata": {
|
||||
"visible": true,
|
||||
"author": "Mark",
|
||||
"manufacturer": "Anet",
|
||||
"file_formats": "text/x-gcode",
|
||||
"platform": "aneta6_platform.stl",
|
||||
"platform_offset": [0, -3.4, 0],
|
||||
"machine_extruder_trains":
|
||||
{
|
||||
"0": "anet_a6_extruder_0"
|
||||
}
|
||||
},
|
||||
|
||||
"overrides": {
|
||||
"machine_name": { "default_value": "Anet A6" },
|
||||
"machine_heated_bed": {
|
||||
"default_value": true
|
||||
},
|
||||
"machine_width": {
|
||||
"default_value": 220
|
||||
},
|
||||
"machine_height": {
|
||||
"default_value": 250
|
||||
},
|
||||
"machine_depth": {
|
||||
"default_value": 220
|
||||
},
|
||||
"machine_center_is_zero": {
|
||||
"default_value": false
|
||||
},
|
||||
"gantry_height": {
|
||||
"value": "55"
|
||||
},
|
||||
"machine_start_gcode": {
|
||||
"default_value": "G21 ;metric values\nG90 ;absolute positioning\nM82 ;set extruder to absolute mode\nM107 ;start with the fan off\nG28 X0 Y0 ;move X/Y to min endstops\nG28 Z0 ;move Z to min endstops\nM84 ;steppers off\nM0 S12 ;wait 12 seconds\nM17 ;turn steppers on\nG1 Z10.0 F300 ;move the platform down 10mm\nG92 E0 ;zero the extruded length\nG1 F200 E8 ;extrude 8mm of feed stock\nG92 E0 ;zero the extruded length again\nM0 S5 ;wait 5 seconds\nG1 F9000\nM117 Printing..."
|
||||
},
|
||||
"machine_end_gcode": {
|
||||
"default_value": "M104 S0 ;extruder heater off\nM140 S0 ;heated bed heater off (if you have it)\nG91 ;relative positioning\nG1 E-1 F300 ;retract the filament a bit before lifting the nozzle, to release some of the pressure\nG1 Z+4 E-5 X-20 Y-20 F9000 ;move Z up a bit and retract filament even more\nG28 X0 Y0 ;move X/Y to min endstops, so the head is out of the way\nG1 Y210 F9000 ;move out to get part off\nM84 ;steppers off\nG90 ;absolute positioning"
|
||||
}
|
||||
}
|
||||
}
|
@ -2084,7 +2084,6 @@
|
||||
"maximum_value": "machine_height",
|
||||
"type": "float",
|
||||
"value": "0",
|
||||
"comment": "This was put at 0 to keep the default behaviour the same, but in the original PR the 'value' was: resolveOrValue('infill_sparse_thickness') * (4 if infill_sparse_density < 12.5 else (3 if infill_sparse_density < 25 else (2 if infill_sparse_density < 50 else 1)))",
|
||||
"limit_to_extruder": "infill_extruder_nr",
|
||||
"enabled": "infill_sparse_density > 0",
|
||||
"settable_per_mesh": true,
|
||||
@ -2420,6 +2419,54 @@
|
||||
"settable_per_mesh": false,
|
||||
"settable_per_extruder": true
|
||||
},
|
||||
"material_flush_purge_speed":
|
||||
{
|
||||
"label": "Flush Purge Speed",
|
||||
"description": "Material Station internal value",
|
||||
"type": "float",
|
||||
"default_value": 0.5,
|
||||
"enabled": false
|
||||
},
|
||||
"material_flush_purge_length":
|
||||
{
|
||||
"label": "Flush Purge Length",
|
||||
"description": "Material Station internal value",
|
||||
"type": "float",
|
||||
"default_value": 60,
|
||||
"enabled": false
|
||||
},
|
||||
"material_end_of_filament_purge_speed":
|
||||
{
|
||||
"label": "End Of Filament Purge Speed",
|
||||
"description": "Material Station internal value",
|
||||
"type": "float",
|
||||
"default_value": 0.5,
|
||||
"enabled": false
|
||||
},
|
||||
"material_end_of_filament_purge_length":
|
||||
{
|
||||
"label": "End Of Filament Purge Length",
|
||||
"description": "Material Station internal value",
|
||||
"type": "float",
|
||||
"default_value": 20,
|
||||
"enabled": false
|
||||
},
|
||||
"material_maximum_park_duration":
|
||||
{
|
||||
"label": "Maximum Park Duration",
|
||||
"description": "Material Station internal value",
|
||||
"type": "float",
|
||||
"default_value": 300,
|
||||
"enabled": false
|
||||
},
|
||||
"material_no_load_move_factor":
|
||||
{
|
||||
"label": "No Load Move Factor",
|
||||
"description": "Material Station internal value",
|
||||
"type": "float",
|
||||
"default_value": 0.940860215,
|
||||
"enabled": false
|
||||
},
|
||||
"material_flow":
|
||||
{
|
||||
"label": "Flow",
|
||||
@ -4233,8 +4280,8 @@
|
||||
"minimum_value_warning": "1 if support_pattern == 'concentric' else 0",
|
||||
"maximum_value_warning": "3",
|
||||
"type": "int",
|
||||
"value": "1 if (support_pattern == 'grid' or support_pattern == 'triangles' or support_pattern == 'concentric') else 0",
|
||||
"enabled": "support_enable",
|
||||
"value": "1 if support_tree_enable else (1 if (support_pattern == 'grid' or support_pattern == 'triangles' or support_pattern == 'concentric') else 0)",
|
||||
"enabled": "support_enable or support_tree_enable",
|
||||
"limit_to_extruder": "support_infill_extruder_nr",
|
||||
"settable_per_mesh": false,
|
||||
"settable_per_extruder": true
|
||||
@ -6186,38 +6233,6 @@
|
||||
"settable_per_mesh": false,
|
||||
"settable_per_extruder": true
|
||||
},
|
||||
"support_tree_wall_thickness":
|
||||
{
|
||||
"label": "Tree Support Wall Thickness",
|
||||
"description": "The thickness of the walls of the branches of tree support. Thicker walls take longer to print but don't fall over as easily.",
|
||||
"unit": "mm",
|
||||
"type": "float",
|
||||
"minimum_value": "0",
|
||||
"minimum_value_warning": "wall_line_width",
|
||||
"default_value": 0.8,
|
||||
"value": "support_line_width",
|
||||
"limit_to_extruder": "support_infill_extruder_nr",
|
||||
"enabled": "support_tree_enable",
|
||||
"settable_per_mesh": false,
|
||||
"settable_per_extruder": true,
|
||||
"children":
|
||||
{
|
||||
"support_tree_wall_count":
|
||||
{
|
||||
"label": "Tree Support Wall Line Count",
|
||||
"description": "The number of walls of the branches of tree support. Thicker walls take longer to print but don't fall over as easily.",
|
||||
"type": "int",
|
||||
"minimum_value": "0",
|
||||
"minimum_value_warning": "1",
|
||||
"default_value": 1,
|
||||
"value": "round(support_tree_wall_thickness / support_line_width)",
|
||||
"limit_to_extruder": "support_infill_extruder_nr",
|
||||
"enabled": "support_tree_enable",
|
||||
"settable_per_mesh": false,
|
||||
"settable_per_extruder": true
|
||||
}
|
||||
}
|
||||
},
|
||||
"slicing_tolerance":
|
||||
{
|
||||
"label": "Slicing Tolerance",
|
||||
|
64
resources/definitions/lotmaxx_sc10.def.json
Normal file
64
resources/definitions/lotmaxx_sc10.def.json
Normal file
@ -0,0 +1,64 @@
|
||||
{
|
||||
"name": "Lotmaxx SC-10",
|
||||
"version": 2,
|
||||
"inherits": "fdmprinter",
|
||||
"metadata": {
|
||||
"visible": true,
|
||||
"author": "lotmaxx.com",
|
||||
"manufacturer": "Lotmaxx",
|
||||
"file_formats": "text/x-gcode",
|
||||
"platform": "lotmaxx_sc_10_20_platform.stl",
|
||||
"has_materials": true,
|
||||
"machine_extruder_trains":
|
||||
{
|
||||
"0": "lotmaxx_sc10_extruder_0"
|
||||
}
|
||||
},
|
||||
"overrides": {
|
||||
"machine_name": { "default_value": "Lotmaxx SC-10" },
|
||||
"machine_width": { "default_value": 235 },
|
||||
"machine_depth": { "default_value": 235 },
|
||||
"machine_height": { "default_value": 320 },
|
||||
"machine_head_with_fans_polygon": { "default_value": [[-32,11],[-32,-32],[28,-32],[28,11]] },
|
||||
"gantry_height": { "value": 40 },
|
||||
"machine_start_gcode": { "default_value": "; SC-10 Custom Start G-code\nG28 ; Home all axes\nG92 E0 ; Reset Extruder\nG1 Z2.0 F3000 ; Move Z Axis up little to prevent scratching of Heat Bed\nG1 X0.1 Y20 Z0.3 F5000.0 ; Move to start position\nG1 X0.1 Y200.0 Z0.3 F1500.0 E15 ; Draw the first line\nG1 X0.4 Y200.0 Z0.3 F5000.0 ; Move to side a little\nG1 X0.4 Y20 Z0.3 F1500.0 E30 ; Draw the second line\nG92 E0 ; Reset Extruder\nG1 Z2.0 F3000 ; Move Z Axis up little to prevent scratching of Heat Bed\n; End of custom start GCode" },
|
||||
"machine_end_gcode": { "default_value": "; SC-10 Custom End G-code\nG4 ; Wait\nM220 S100 ; Reset Speed factor override percentage to default (100%)\nM221 S100 ; Reset Extrude factor override percentage to default (100%)\nG91 ; Set coordinates to relative\nG1 F1800 E-3 ; Retract filament 3 mm to prevent oozing\nG1 F3000 Z20 ; Move Z Axis up 20 mm to allow filament ooze freely\nG90 ; Set coordinates to absolute\nG1 X0 Y{machine_depth} F1000 ; Move Heat Bed to the front for easy print removal\nM84 ; Disable stepper motors\n; End of custom end GCode" },
|
||||
"machine_max_jerk_xy":{ "value":10 },
|
||||
"machine_max_jerk_z":{ "value":0.4 },
|
||||
"machine_max_jerk_e":{ "value":5 },
|
||||
"machine_heated_bed":{ "default_value":true },
|
||||
"material_diameter":{ "default_value":1.75 },
|
||||
"jerk_print":{ "value":8 },
|
||||
"jerk_travel":{ "value":"jerk_print" },
|
||||
"jerk_travel_layer_0":{ "value":"jerk_travel" },
|
||||
"acceleration_enabled":{ "value":false },
|
||||
"jerk_enabled":{ "value":false },
|
||||
"speed_print":{ "value":60.0 },
|
||||
"speed_infill":{ "value":"speed_print * 2" },
|
||||
"speed_wall":{ "value":"speed_print / 2" },
|
||||
"speed_wall_0":{ "value":"speed_wall" },
|
||||
"speed_wall_x":{ "value":"speed_wall" },
|
||||
"speed_topbottom":{ "value":"speed_print / 2" },
|
||||
"speed_roofing":{ "value":"speed_topbottom" },
|
||||
"speed_travel":{ "value":"150.0 if speed_print < 60 else 250.0 if speed_print > 100 else speed_print * 2.5" },
|
||||
"speed_layer_0":{ "value":20.0 },
|
||||
"speed_print_layer_0":{ "value":"speed_layer_0" },
|
||||
"speed_travel_layer_0":{ "value":"100 if speed_layer_0 < 20 else 150 if speed_layer_0 > 30 else speed_layer_0 * 5" },
|
||||
"speed_prime_tower":{ "value":"speed_topbottom" },
|
||||
"speed_support":{ "value":"speed_wall_0" },
|
||||
"speed_support_interface":{ "value":"speed_topbottom" },
|
||||
"skirt_brim_speed":{ "value":"speed_layer_0" },
|
||||
"retraction_enable":{ "value":true },
|
||||
"retraction_count_max":{ "value":100 },
|
||||
"retraction_extrusion_window":{ "value":10 },
|
||||
"retraction_min_travel":{ "value":1.5 },
|
||||
"cool_fan_full_at_height":{ "value":"layer_height_0 + 2 * layer_height" },
|
||||
"cool_fan_enabled":{ "value":true },
|
||||
"cool_min_layer_time":{ "value":10 },
|
||||
"meshfix_maximum_resolution":{ "value":"0.05" },
|
||||
"meshfix_maximum_travel_resolution":{ "value":"meshfix_maximum_resolution" },
|
||||
"adhesion_type": { "value": "'none' if support_enable else 'skirt'" },
|
||||
"skirt_gap":{ "value":5.0 },
|
||||
"skirt_line_count":{ "value":4 }
|
||||
}
|
||||
}
|
64
resources/definitions/lotmaxx_sc20.def.json
Normal file
64
resources/definitions/lotmaxx_sc20.def.json
Normal file
@ -0,0 +1,64 @@
|
||||
{
|
||||
"name": "Lotmaxx SC-20",
|
||||
"version": 2,
|
||||
"inherits": "fdmprinter",
|
||||
"metadata": {
|
||||
"visible": true,
|
||||
"author": "lotmaxx.com",
|
||||
"manufacturer": "Lotmaxx",
|
||||
"file_formats": "text/x-gcode",
|
||||
"platform": "lotmaxx_sc_10_20_platform.stl",
|
||||
"has_materials": true,
|
||||
"machine_extruder_trains":
|
||||
{
|
||||
"0": "lotmaxx_sc20_extruder_0"
|
||||
}
|
||||
},
|
||||
"overrides": {
|
||||
"machine_name": { "default_value": "Lotmaxx SC-20" },
|
||||
"machine_width": { "default_value": 235 },
|
||||
"machine_depth": { "default_value": 235 },
|
||||
"machine_height": { "default_value": 320 },
|
||||
"machine_head_with_fans_polygon": { "default_value": [[-32,11],[-32,-32],[28,-32],[28,11]] },
|
||||
"gantry_height": { "value": 40 },
|
||||
"machine_start_gcode": { "default_value": "; SC-20 Custom Start G-code\nG28 ; Home all axes\nG92 E0 ; Reset Extruder\nG1 Z2.0 F3000 ; Move Z Axis up little to prevent scratching of Heat Bed\nG1 X0.1 Y20 Z0.3 F5000.0 ; Move to start position\nG1 X0.1 Y200.0 Z0.3 F1500.0 E15 ; Draw the first line\nG1 X0.4 Y200.0 Z0.3 F5000.0 ; Move to side a little\nG1 X0.4 Y20 Z0.3 F1500.0 E30 ; Draw the second line\nG92 E0 ; Reset Extruder\nG1 Z2.0 F3000 ; Move Z Axis up little to prevent scratching of Heat Bed\n; End of custom start GCode" },
|
||||
"machine_end_gcode": { "default_value": "; SC-20 Custom End G-code\nG4 ; Wait\nM220 S100 ; Reset Speed factor override percentage to default (100%)\nM221 S100 ; Reset Extrude factor override percentage to default (100%)\nG91 ; Set coordinates to relative\nG1 F1800 E-3 ; Retract filament 3 mm to prevent oozing\nG1 F3000 Z20 ; Move Z Axis up 20 mm to allow filament ooze freely\nG90 ; Set coordinates to absolute\nG1 X0 Y{machine_depth} F1000 ; Move Heat Bed to the front for easy print removal\nM84 ; Disable stepper motors\n; End of custom end GCode" },
|
||||
"machine_max_jerk_xy":{ "value":10 },
|
||||
"machine_max_jerk_z":{ "value":0.4 },
|
||||
"machine_max_jerk_e":{ "value":5 },
|
||||
"machine_heated_bed":{ "default_value":true },
|
||||
"material_diameter":{ "default_value":1.75 },
|
||||
"jerk_print":{ "value":8 },
|
||||
"jerk_travel":{ "value":"jerk_print" },
|
||||
"jerk_travel_layer_0":{ "value":"jerk_travel" },
|
||||
"acceleration_enabled":{ "value":false },
|
||||
"jerk_enabled":{ "value":false },
|
||||
"speed_print":{ "value":60.0 },
|
||||
"speed_infill":{ "value":"speed_print * 2" },
|
||||
"speed_wall":{ "value":"speed_print / 2" },
|
||||
"speed_wall_0":{ "value":"speed_wall" },
|
||||
"speed_wall_x":{ "value":"speed_wall" },
|
||||
"speed_topbottom":{ "value":"speed_print / 2" },
|
||||
"speed_roofing":{ "value":"speed_topbottom" },
|
||||
"speed_travel":{ "value":"150.0 if speed_print < 60 else 250.0 if speed_print > 100 else speed_print * 2.5" },
|
||||
"speed_layer_0":{ "value":20.0 },
|
||||
"speed_print_layer_0":{ "value":"speed_layer_0" },
|
||||
"speed_travel_layer_0":{ "value":"100 if speed_layer_0 < 20 else 150 if speed_layer_0 > 30 else speed_layer_0 * 5" },
|
||||
"speed_prime_tower":{ "value":"speed_topbottom" },
|
||||
"speed_support":{ "value":"speed_wall_0" },
|
||||
"speed_support_interface":{ "value":"speed_topbottom" },
|
||||
"skirt_brim_speed":{ "value":"speed_layer_0" },
|
||||
"retraction_enable":{ "value":true },
|
||||
"retraction_count_max":{ "value":100 },
|
||||
"retraction_extrusion_window":{ "value":10 },
|
||||
"retraction_min_travel":{ "value":1.5 },
|
||||
"cool_fan_full_at_height":{ "value":"layer_height_0 + 2 * layer_height" },
|
||||
"cool_fan_enabled":{ "value":true },
|
||||
"cool_min_layer_time":{ "value":10 },
|
||||
"meshfix_maximum_resolution":{ "value":"0.05" },
|
||||
"meshfix_maximum_travel_resolution":{ "value":"meshfix_maximum_resolution" },
|
||||
"adhesion_type": { "value": "'none' if support_enable else 'skirt'" },
|
||||
"skirt_gap":{ "value":5.0 },
|
||||
"skirt_line_count":{ "value":4 }
|
||||
}
|
||||
}
|
@ -47,9 +47,6 @@
|
||||
"machine_nozzle_head_distance": {
|
||||
"default_value": 3
|
||||
},
|
||||
"machine_nozzle_expansion_angle": {
|
||||
"default_value": 45
|
||||
},
|
||||
"layer_height_0": {
|
||||
"default_value": 0.2
|
||||
},
|
||||
|
@ -58,9 +58,6 @@
|
||||
"machine_nozzle_head_distance": {
|
||||
"default_value": 5
|
||||
},
|
||||
"machine_nozzle_expansion_angle": {
|
||||
"default_value": 45
|
||||
},
|
||||
"machine_heat_zone_length": {
|
||||
"default_value": 16
|
||||
},
|
||||
|
File diff suppressed because it is too large
Load Diff
@ -76,9 +76,6 @@
|
||||
"machine_nozzle_head_distance": {
|
||||
"default_value": 5
|
||||
},
|
||||
"machine_nozzle_expansion_angle": {
|
||||
"default_value": 45
|
||||
},
|
||||
"machine_heat_zone_length": {
|
||||
"default_value": 20
|
||||
},
|
||||
|
@ -47,7 +47,6 @@
|
||||
|
||||
"machine_nozzle_tip_outer_diameter": { "default_value": 1 },
|
||||
"machine_nozzle_head_distance": { "default_value": 3 },
|
||||
"machine_nozzle_expansion_angle": { "default_value": 45 },
|
||||
|
||||
"machine_max_acceleration_x": { "default_value": 6000 },
|
||||
"machine_max_acceleration_y": { "default_value": 6000 },
|
||||
|
@ -74,9 +74,6 @@
|
||||
"machine_nozzle_head_distance": {
|
||||
"default_value": 3
|
||||
},
|
||||
"machine_nozzle_expansion_angle": {
|
||||
"default_value": 45
|
||||
},
|
||||
"machine_max_feedrate_x": {
|
||||
"default_value": 300
|
||||
},
|
||||
|
@ -52,9 +52,6 @@
|
||||
"machine_nozzle_head_distance": {
|
||||
"default_value": 5
|
||||
},
|
||||
"machine_nozzle_expansion_angle": {
|
||||
"default_value": 45
|
||||
},
|
||||
"machine_heat_zone_length": {
|
||||
"default_value": 20
|
||||
},
|
||||
|
18
resources/definitions/voron2_250.def.json
Normal file
18
resources/definitions/voron2_250.def.json
Normal file
@ -0,0 +1,18 @@
|
||||
{
|
||||
"name": "VORON2 250",
|
||||
"version": 2,
|
||||
"inherits": "voron2_base",
|
||||
"metadata":
|
||||
{
|
||||
"visible": true,
|
||||
"platform": "voron2_250_bed.stl",
|
||||
"quality_definition": "voron2_base"
|
||||
},
|
||||
"overrides":
|
||||
{
|
||||
"machine_name": { "default_value": "VORON2 250" },
|
||||
"machine_width": { "default_value": 250 },
|
||||
"machine_depth": { "default_value": 250 },
|
||||
"machine_height": { "default_value": 250 }
|
||||
}
|
||||
}
|
18
resources/definitions/voron2_300.def.json
Normal file
18
resources/definitions/voron2_300.def.json
Normal file
@ -0,0 +1,18 @@
|
||||
{
|
||||
"name": "VORON2 300",
|
||||
"version": 2,
|
||||
"inherits": "voron2_base",
|
||||
"metadata":
|
||||
{
|
||||
"visible": true,
|
||||
"platform": "voron2_300_bed.stl",
|
||||
"quality_definition": "voron2_base"
|
||||
},
|
||||
"overrides":
|
||||
{
|
||||
"machine_name": { "default_value": "VORON2 300" },
|
||||
"machine_width": { "default_value": 300 },
|
||||
"machine_depth": { "default_value": 300 },
|
||||
"machine_height": { "default_value": 300 }
|
||||
}
|
||||
}
|
18
resources/definitions/voron2_350.def.json
Normal file
18
resources/definitions/voron2_350.def.json
Normal file
@ -0,0 +1,18 @@
|
||||
{
|
||||
"name": "VORON2 350",
|
||||
"version": 2,
|
||||
"inherits": "voron2_base",
|
||||
"metadata":
|
||||
{
|
||||
"visible": true,
|
||||
"platform": "voron2_350_bed.stl",
|
||||
"quality_definition": "voron2_base"
|
||||
},
|
||||
"overrides":
|
||||
{
|
||||
"machine_name": { "default_value": "VORON2 350" },
|
||||
"machine_width": { "default_value": 350 },
|
||||
"machine_depth": { "default_value": 350 },
|
||||
"machine_height": { "default_value": 350 }
|
||||
}
|
||||
}
|
155
resources/definitions/voron2_base.def.json
Normal file
155
resources/definitions/voron2_base.def.json
Normal file
@ -0,0 +1,155 @@
|
||||
{
|
||||
"name": "VORON2 Base",
|
||||
"version": 2,
|
||||
"inherits": "fdmprinter",
|
||||
"metadata":
|
||||
{
|
||||
"visible": false,
|
||||
"author": "Fulg, Maglin, pizzle_Dizzle",
|
||||
"manufacturer": "VORONDesign",
|
||||
"file_formats": "text/x-gcode",
|
||||
"first_start_actions": ["MachineSettingsAction"],
|
||||
"preferred_quality_type": "fast",
|
||||
"has_machine_quality": true,
|
||||
"has_materials": true,
|
||||
"has_variants": true,
|
||||
"variants_name": "Toolhead",
|
||||
"preferred_variant_name": "V6 0.40mm",
|
||||
"machine_extruder_trains": { "0": "voron2_extruder_0" },
|
||||
"preferred_material": "generic_abs",
|
||||
"exclude_materials": [
|
||||
"ultimaker_abs_black",
|
||||
"ultimaker_abs_blue",
|
||||
"ultimaker_abs_green",
|
||||
"ultimaker_abs_grey",
|
||||
"ultimaker_abs_orange",
|
||||
"ultimaker_abs_pearl-gold",
|
||||
"ultimaker_abs_red",
|
||||
"ultimaker_abs_silver-metallic",
|
||||
"ultimaker_abs_white",
|
||||
"ultimaker_abs_yellow",
|
||||
"ultimaker_bam",
|
||||
"ultimaker_cpe_black",
|
||||
"ultimaker_cpe_blue",
|
||||
"ultimaker_cpe_dark-grey",
|
||||
"ultimaker_cpe_green",
|
||||
"ultimaker_cpe_light-grey",
|
||||
"ultimaker_cpe_plus_black",
|
||||
"ultimaker_cpe_plus_transparent",
|
||||
"ultimaker_cpe_plus_white",
|
||||
"ultimaker_cpe_red",
|
||||
"ultimaker_cpe_transparent",
|
||||
"ultimaker_cpe_white",
|
||||
"ultimaker_cpe_yellow",
|
||||
"ultimaker_nylon_black",
|
||||
"ultimaker_nylon_transparent",
|
||||
"ultimaker_pc_black",
|
||||
"ultimaker_pc_transparent",
|
||||
"ultimaker_pc_white",
|
||||
"ultimaker_pla_black",
|
||||
"ultimaker_pla_blue",
|
||||
"ultimaker_pla_green",
|
||||
"ultimaker_pla_magenta",
|
||||
"ultimaker_pla_orange",
|
||||
"ultimaker_pla_pearl-white",
|
||||
"ultimaker_pla_red",
|
||||
"ultimaker_pla_silver-metallic",
|
||||
"ultimaker_pla_transparent",
|
||||
"ultimaker_pla_white",
|
||||
"ultimaker_pla_yellow",
|
||||
"ultimaker_pp_transparent",
|
||||
"ultimaker_pva",
|
||||
"ultimaker_tough_pla_black",
|
||||
"ultimaker_tough_pla_green",
|
||||
"ultimaker_tough_pla_red",
|
||||
"ultimaker_tough_pla_white",
|
||||
"ultimaker_tpu_black",
|
||||
"ultimaker_tpu_blue",
|
||||
"ultimaker_tpu_red",
|
||||
"ultimaker_tpu_white"
|
||||
]
|
||||
},
|
||||
"overrides":
|
||||
{
|
||||
"machine_name": { "default_value": "VORON2" },
|
||||
"machine_width": { "default_value": 250 },
|
||||
"machine_depth": { "default_value": 250 },
|
||||
"machine_height": { "default_value": 250 },
|
||||
"gantry_height": { "value": 30 },
|
||||
"machine_heated_bed": { "default_value": true },
|
||||
"machine_max_acceleration_x": { "default_value": 1500 },
|
||||
"machine_max_acceleration_y": { "default_value": 1500 },
|
||||
"machine_max_acceleration_z": { "default_value": 250 },
|
||||
"machine_acceleration": { "default_value": 1500 },
|
||||
"machine_max_jerk_xy": { "default_value": 20 },
|
||||
"machine_max_jerk_z": { "default_value": 1 },
|
||||
"machine_max_jerk_e": { "default_value": 60 },
|
||||
"machine_steps_per_mm_x": { "default_value": 80 },
|
||||
"machine_steps_per_mm_y": { "default_value": 80 },
|
||||
"machine_steps_per_mm_z": { "default_value": 400 },
|
||||
"machine_endstop_positive_direction_x": { "default_value": true },
|
||||
"machine_endstop_positive_direction_y": { "default_value": true },
|
||||
"machine_endstop_positive_direction_z": { "default_value": false },
|
||||
"machine_feeder_wheel_diameter": { "default_value": 7.5 },
|
||||
"machine_head_with_fans_polygon": { "default_value": [ [-35, 65], [-35, -50], [35, -50], [35, 65] ] },
|
||||
"machine_max_feedrate_z": { "default_value": 40 },
|
||||
"machine_max_feedrate_e": { "default_value": 120 },
|
||||
"machine_gcode_flavor": { "default_value": "RepRap (RepRap)" },
|
||||
"machine_start_gcode": { "default_value": "print_start" },
|
||||
"machine_end_gcode": { "default_value": "print_end" },
|
||||
"adhesion_type": { "default_value": "skirt" },
|
||||
"skirt_brim_minimal_length": { "default_value": 550 },
|
||||
"retraction_speed": { "default_value": 80, "maximum_value_warning": 130 },
|
||||
"retraction_retract_speed": { "maximum_value_warning": 130 },
|
||||
"retraction_prime_speed": { "value": "math.ceil(retraction_speed * 0.4)", "maximum_value_warning": 130 },
|
||||
"retraction_hop_enabled": { "default_value": true },
|
||||
"retraction_hop": { "default_value": 0.2 },
|
||||
"retraction_combing": { "default_value": "noskin" },
|
||||
"retraction_combing_max_distance": { "default_value": 10 },
|
||||
"travel_avoid_other_parts": { "default_value": false },
|
||||
"speed_travel": { "maximum_value": 300, "value": 300, "maximum_value_warning": 501 },
|
||||
"speed_travel_layer_0": { "value": "math.ceil(speed_travel * 0.4)" },
|
||||
"speed_layer_0": { "value": "math.ceil(speed_print * 0.25)" },
|
||||
"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)" },
|
||||
"speed_topbottom": { "value": "math.ceil(speed_print * 0.33)" },
|
||||
"speed_roofing": { "value": "math.ceil(speed_print * 0.33)" },
|
||||
"speed_slowdown_layers": { "default_value": 4 },
|
||||
"roofing_layer_count": { "value": 1 },
|
||||
"optimize_wall_printing_order": { "default_value": true },
|
||||
"infill_enable_travel_optimization": { "default_value": true },
|
||||
"minimum_polygon_circumference": { "default_value": 0.2 },
|
||||
"wall_overhang_angle": { "default_value": 75 },
|
||||
"wall_overhang_speed_factor": { "default_value": 50 },
|
||||
"bridge_settings_enabled": { "default_value": true },
|
||||
"bridge_wall_coast": { "default_value": 10 },
|
||||
"bridge_fan_speed": { "default_value": 100 },
|
||||
"bridge_fan_speed_2": { "resolve": "max(cool_fan_speed, 50)" },
|
||||
"bridge_fan_speed_3": { "resolve": "max(cool_fan_speed, 20)" },
|
||||
"alternate_extra_perimeter": { "default_value": true },
|
||||
"cool_min_layer_time_fan_speed_max": { "default_value": 20 },
|
||||
"cool_min_layer_time": { "default_value": 15 },
|
||||
"cool_fan_speed_min": { "value": "cool_fan_speed" },
|
||||
"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 },
|
||||
"layer_height_0": { "resolve": "max(0.2, min(extruderValues('layer_height')))" },
|
||||
"line_width": { "value": "machine_nozzle_size * 1.125" },
|
||||
"wall_line_width": { "value": "machine_nozzle_size" },
|
||||
"fill_perimeter_gaps": { "default_value": "nowhere" },
|
||||
"fill_outline_gaps": { "default_value": true },
|
||||
"meshfix_maximum_resolution": { "default_value": 0.01 },
|
||||
"infill_before_walls": { "default_value": false },
|
||||
"zig_zaggify_infill": { "value": true },
|
||||
"min_infill_area": { "default_value": 5.0 },
|
||||
"acceleration_enabled": { "default_value": false },
|
||||
"acceleration_print": { "default_value": 2200 },
|
||||
"acceleration_wall_0": { "value": 1800 },
|
||||
"acceleration_layer_0": { "value": 1800 },
|
||||
"acceleration_travel_layer_0": { "value": 1800 },
|
||||
"acceleration_roofing": { "value": 1800 },
|
||||
"jerk_enabled": { "default_value": false },
|
||||
"jerk_wall_0": { "value": 10 },
|
||||
"jerk_roofing": { "value": 10 }
|
||||
}
|
||||
}
|
14
resources/definitions/voron2_custom.def.json
Normal file
14
resources/definitions/voron2_custom.def.json
Normal file
@ -0,0 +1,14 @@
|
||||
{
|
||||
"name": "VORON2 Custom",
|
||||
"version": 2,
|
||||
"inherits": "voron2_base",
|
||||
"metadata":
|
||||
{
|
||||
"visible": true,
|
||||
"quality_definition": "voron2_base"
|
||||
},
|
||||
"overrides":
|
||||
{
|
||||
"machine_name": { "default_value": "VORON2 Custom" }
|
||||
}
|
||||
}
|
@ -3,7 +3,7 @@
|
||||
"name": "Extruder 1",
|
||||
"inherits": "fdmextruder",
|
||||
"metadata": {
|
||||
"machine": "anet_a6",
|
||||
"machine": "anet3d",
|
||||
"position": "0"
|
||||
},
|
||||
|
15
resources/extruders/lotmaxx_sc10_extruder_0.def.json
Normal file
15
resources/extruders/lotmaxx_sc10_extruder_0.def.json
Normal file
@ -0,0 +1,15 @@
|
||||
{
|
||||
"version": 2,
|
||||
"name": "Extruder 1",
|
||||
"inherits": "fdmextruder",
|
||||
"metadata": {
|
||||
"machine": "lotmaxx_sc10",
|
||||
"position": "0"
|
||||
},
|
||||
|
||||
"overrides": {
|
||||
"extruder_nr": { "default_value": 0 },
|
||||
"machine_nozzle_size": { "default_value": 0.4 },
|
||||
"material_diameter": { "default_value": 1.75 }
|
||||
}
|
||||
}
|
15
resources/extruders/lotmaxx_sc20_extruder_0.def.json
Normal file
15
resources/extruders/lotmaxx_sc20_extruder_0.def.json
Normal file
@ -0,0 +1,15 @@
|
||||
{
|
||||
"version": 2,
|
||||
"name": "Extruder 1",
|
||||
"inherits": "fdmextruder",
|
||||
"metadata": {
|
||||
"machine": "lotmaxx_sc20",
|
||||
"position": "0"
|
||||
},
|
||||
|
||||
"overrides": {
|
||||
"extruder_nr": { "default_value": 0 },
|
||||
"machine_nozzle_size": { "default_value": 0.4 },
|
||||
"material_diameter": { "default_value": 1.75 }
|
||||
}
|
||||
}
|
16
resources/extruders/voron2_extruder_0.def.json
Normal file
16
resources/extruders/voron2_extruder_0.def.json
Normal file
@ -0,0 +1,16 @@
|
||||
{
|
||||
"version": 2,
|
||||
"name": "Toolhead",
|
||||
"inherits": "fdmextruder",
|
||||
"metadata":
|
||||
{
|
||||
"machine": "voron2_base",
|
||||
"position": "0"
|
||||
},
|
||||
|
||||
"overrides":
|
||||
{
|
||||
"extruder_nr": { "default_value": 0, "maximum_value": 1 },
|
||||
"material_diameter": { "default_value": 1.75 }
|
||||
}
|
||||
}
|
BIN
resources/meshes/lotmaxx_sc_10_20_platform.stl
Normal file
BIN
resources/meshes/lotmaxx_sc_10_20_platform.stl
Normal file
Binary file not shown.
BIN
resources/meshes/voron2_250_bed.stl
Normal file
BIN
resources/meshes/voron2_250_bed.stl
Normal file
Binary file not shown.
BIN
resources/meshes/voron2_300_bed.stl
Normal file
BIN
resources/meshes/voron2_300_bed.stl
Normal file
Binary file not shown.
BIN
resources/meshes/voron2_350_bed.stl
Normal file
BIN
resources/meshes/voron2_350_bed.stl
Normal file
Binary file not shown.
@ -0,0 +1,14 @@
|
||||
[general]
|
||||
version = 4
|
||||
name = Extra Fast
|
||||
definition = voron2_base
|
||||
|
||||
[metadata]
|
||||
setting_version = 11
|
||||
type = quality
|
||||
quality_type = extrafast
|
||||
global_quality = True
|
||||
|
||||
[values]
|
||||
layer_height = 0.3
|
||||
|
@ -0,0 +1,14 @@
|
||||
[general]
|
||||
version = 4
|
||||
name = Extra Fine
|
||||
definition = voron2_base
|
||||
|
||||
[metadata]
|
||||
setting_version = 11
|
||||
type = quality
|
||||
quality_type = extrafine
|
||||
global_quality = True
|
||||
|
||||
[values]
|
||||
layer_height = 0.06
|
||||
|
14
resources/quality/voron2/voron2_global_fast_quality.inst.cfg
Normal file
14
resources/quality/voron2/voron2_global_fast_quality.inst.cfg
Normal file
@ -0,0 +1,14 @@
|
||||
[general]
|
||||
version = 4
|
||||
name = Fast
|
||||
definition = voron2_base
|
||||
|
||||
[metadata]
|
||||
setting_version = 11
|
||||
type = quality
|
||||
quality_type = fast
|
||||
global_quality = True
|
||||
|
||||
[values]
|
||||
layer_height = 0.2
|
||||
|
14
resources/quality/voron2/voron2_global_fine_quality.inst.cfg
Normal file
14
resources/quality/voron2/voron2_global_fine_quality.inst.cfg
Normal file
@ -0,0 +1,14 @@
|
||||
[general]
|
||||
version = 4
|
||||
name = Fine
|
||||
definition = voron2_base
|
||||
|
||||
[metadata]
|
||||
setting_version = 11
|
||||
type = quality
|
||||
quality_type = fine
|
||||
global_quality = True
|
||||
|
||||
[values]
|
||||
layer_height = 0.1
|
||||
|
@ -0,0 +1,14 @@
|
||||
[general]
|
||||
version = 4
|
||||
name = Normal
|
||||
definition = voron2_base
|
||||
|
||||
[metadata]
|
||||
setting_version = 11
|
||||
type = quality
|
||||
quality_type = normal
|
||||
global_quality = True
|
||||
|
||||
[values]
|
||||
layer_height = 0.15
|
||||
|
@ -0,0 +1,14 @@
|
||||
[general]
|
||||
version = 4
|
||||
name = Sprint
|
||||
definition = voron2_base
|
||||
|
||||
[metadata]
|
||||
setting_version = 11
|
||||
type = quality
|
||||
quality_type = sprint
|
||||
global_quality = True
|
||||
|
||||
[values]
|
||||
layer_height = 0.4
|
||||
|
@ -0,0 +1,14 @@
|
||||
[general]
|
||||
version = 4
|
||||
name = Super Sprint
|
||||
definition = voron2_base
|
||||
|
||||
[metadata]
|
||||
setting_version = 11
|
||||
type = quality
|
||||
quality_type = supersprint
|
||||
global_quality = True
|
||||
|
||||
[values]
|
||||
layer_height = 0.5
|
||||
|
@ -0,0 +1,14 @@
|
||||
[general]
|
||||
version = 4
|
||||
name = Ultra Sprint
|
||||
definition = voron2_base
|
||||
|
||||
[metadata]
|
||||
setting_version = 11
|
||||
type = quality
|
||||
quality_type = ultrasprint
|
||||
global_quality = True
|
||||
|
||||
[values]
|
||||
layer_height = 0.6
|
||||
|
@ -0,0 +1,14 @@
|
||||
[general]
|
||||
version = 4
|
||||
name = Extra Fine
|
||||
definition = voron2_base
|
||||
|
||||
[metadata]
|
||||
setting_version = 11
|
||||
type = quality
|
||||
quality_type = extrafine
|
||||
material = generic_abs
|
||||
variant = V6 0.25mm
|
||||
|
||||
[values]
|
||||
speed_print = 300
|
15
resources/quality/voron2/voron2_v6_0.25_ABS_fast.inst.cfg
Normal file
15
resources/quality/voron2/voron2_v6_0.25_ABS_fast.inst.cfg
Normal file
@ -0,0 +1,15 @@
|
||||
[general]
|
||||
version = 4
|
||||
name = Fast
|
||||
definition = voron2_base
|
||||
|
||||
[metadata]
|
||||
setting_version = 11
|
||||
type = quality
|
||||
quality_type = fast
|
||||
material = generic_abs
|
||||
variant = V6 0.25mm
|
||||
|
||||
[values]
|
||||
speed_print = 180
|
||||
|
15
resources/quality/voron2/voron2_v6_0.25_ABS_fine.inst.cfg
Normal file
15
resources/quality/voron2/voron2_v6_0.25_ABS_fine.inst.cfg
Normal file
@ -0,0 +1,15 @@
|
||||
[general]
|
||||
version = 4
|
||||
name = Fine
|
||||
definition = voron2_base
|
||||
|
||||
[metadata]
|
||||
setting_version = 11
|
||||
type = quality
|
||||
quality_type = fine
|
||||
material = generic_abs
|
||||
variant = V6 0.25mm
|
||||
|
||||
[values]
|
||||
speed_print = 300
|
||||
|
15
resources/quality/voron2/voron2_v6_0.25_ABS_normal.inst.cfg
Normal file
15
resources/quality/voron2/voron2_v6_0.25_ABS_normal.inst.cfg
Normal file
@ -0,0 +1,15 @@
|
||||
[general]
|
||||
version = 4
|
||||
name = Normal
|
||||
definition = voron2_base
|
||||
|
||||
[metadata]
|
||||
setting_version = 11
|
||||
type = quality
|
||||
quality_type = normal
|
||||
material = generic_abs
|
||||
variant = V6 0.25mm
|
||||
|
||||
[values]
|
||||
speed_print = 240
|
||||
|
@ -0,0 +1,14 @@
|
||||
[general]
|
||||
version = 4
|
||||
name = Extra Fine
|
||||
definition = voron2_base
|
||||
|
||||
[metadata]
|
||||
setting_version = 11
|
||||
type = quality
|
||||
quality_type = extrafine
|
||||
material = generic_nylon
|
||||
variant = V6 0.25mm
|
||||
|
||||
[values]
|
||||
speed_print = 300
|
15
resources/quality/voron2/voron2_v6_0.25_Nylon_fast.inst.cfg
Normal file
15
resources/quality/voron2/voron2_v6_0.25_Nylon_fast.inst.cfg
Normal file
@ -0,0 +1,15 @@
|
||||
[general]
|
||||
version = 4
|
||||
name = Fast
|
||||
definition = voron2_base
|
||||
|
||||
[metadata]
|
||||
setting_version = 11
|
||||
type = quality
|
||||
quality_type = fast
|
||||
material = generic_nylon
|
||||
variant = V6 0.25mm
|
||||
|
||||
[values]
|
||||
speed_print = 180
|
||||
|
15
resources/quality/voron2/voron2_v6_0.25_Nylon_fine.inst.cfg
Normal file
15
resources/quality/voron2/voron2_v6_0.25_Nylon_fine.inst.cfg
Normal file
@ -0,0 +1,15 @@
|
||||
[general]
|
||||
version = 4
|
||||
name = Fine
|
||||
definition = voron2_base
|
||||
|
||||
[metadata]
|
||||
setting_version = 11
|
||||
type = quality
|
||||
quality_type = fine
|
||||
material = generic_nylon
|
||||
variant = V6 0.25mm
|
||||
|
||||
[values]
|
||||
speed_print = 300
|
||||
|
@ -0,0 +1,15 @@
|
||||
[general]
|
||||
version = 4
|
||||
name = Normal
|
||||
definition = voron2_base
|
||||
|
||||
[metadata]
|
||||
setting_version = 11
|
||||
type = quality
|
||||
quality_type = normal
|
||||
material = generic_nylon
|
||||
variant = V6 0.25mm
|
||||
|
||||
[values]
|
||||
speed_print = 240
|
||||
|
@ -0,0 +1,14 @@
|
||||
[general]
|
||||
version = 4
|
||||
name = Extra Fine
|
||||
definition = voron2_base
|
||||
|
||||
[metadata]
|
||||
setting_version = 11
|
||||
type = quality
|
||||
quality_type = extrafine
|
||||
material = generic_pc
|
||||
variant = V6 0.25mm
|
||||
|
||||
[values]
|
||||
speed_print = 300
|
15
resources/quality/voron2/voron2_v6_0.25_PC_fast.inst.cfg
Normal file
15
resources/quality/voron2/voron2_v6_0.25_PC_fast.inst.cfg
Normal file
@ -0,0 +1,15 @@
|
||||
[general]
|
||||
version = 4
|
||||
name = Fast
|
||||
definition = voron2_base
|
||||
|
||||
[metadata]
|
||||
setting_version = 11
|
||||
type = quality
|
||||
quality_type = fast
|
||||
material = generic_pc
|
||||
variant = V6 0.25mm
|
||||
|
||||
[values]
|
||||
speed_print = 180
|
||||
|
15
resources/quality/voron2/voron2_v6_0.25_PC_fine.inst.cfg
Normal file
15
resources/quality/voron2/voron2_v6_0.25_PC_fine.inst.cfg
Normal file
@ -0,0 +1,15 @@
|
||||
[general]
|
||||
version = 4
|
||||
name = Fine
|
||||
definition = voron2_base
|
||||
|
||||
[metadata]
|
||||
setting_version = 11
|
||||
type = quality
|
||||
quality_type = fine
|
||||
material = generic_pc
|
||||
variant = V6 0.25mm
|
||||
|
||||
[values]
|
||||
speed_print = 300
|
||||
|
15
resources/quality/voron2/voron2_v6_0.25_PC_normal.inst.cfg
Normal file
15
resources/quality/voron2/voron2_v6_0.25_PC_normal.inst.cfg
Normal file
@ -0,0 +1,15 @@
|
||||
[general]
|
||||
version = 4
|
||||
name = Normal
|
||||
definition = voron2_base
|
||||
|
||||
[metadata]
|
||||
setting_version = 11
|
||||
type = quality
|
||||
quality_type = normal
|
||||
material = generic_pc
|
||||
variant = V6 0.25mm
|
||||
|
||||
[values]
|
||||
speed_print = 240
|
||||
|
@ -0,0 +1,14 @@
|
||||
[general]
|
||||
version = 4
|
||||
name = Extra Fine
|
||||
definition = voron2_base
|
||||
|
||||
[metadata]
|
||||
setting_version = 11
|
||||
type = quality
|
||||
quality_type = extrafine
|
||||
material = generic_petg
|
||||
variant = V6 0.25mm
|
||||
|
||||
[values]
|
||||
speed_print = 300
|
15
resources/quality/voron2/voron2_v6_0.25_PETG_fast.inst.cfg
Normal file
15
resources/quality/voron2/voron2_v6_0.25_PETG_fast.inst.cfg
Normal file
@ -0,0 +1,15 @@
|
||||
[general]
|
||||
version = 4
|
||||
name = Fast
|
||||
definition = voron2_base
|
||||
|
||||
[metadata]
|
||||
setting_version = 11
|
||||
type = quality
|
||||
quality_type = fast
|
||||
material = generic_petg
|
||||
variant = V6 0.25mm
|
||||
|
||||
[values]
|
||||
speed_print = 180
|
||||
|
15
resources/quality/voron2/voron2_v6_0.25_PETG_fine.inst.cfg
Normal file
15
resources/quality/voron2/voron2_v6_0.25_PETG_fine.inst.cfg
Normal file
@ -0,0 +1,15 @@
|
||||
[general]
|
||||
version = 4
|
||||
name = Fine
|
||||
definition = voron2_base
|
||||
|
||||
[metadata]
|
||||
setting_version = 11
|
||||
type = quality
|
||||
quality_type = fine
|
||||
material = generic_petg
|
||||
variant = V6 0.25mm
|
||||
|
||||
[values]
|
||||
speed_print = 300
|
||||
|
15
resources/quality/voron2/voron2_v6_0.25_PETG_normal.inst.cfg
Normal file
15
resources/quality/voron2/voron2_v6_0.25_PETG_normal.inst.cfg
Normal file
@ -0,0 +1,15 @@
|
||||
[general]
|
||||
version = 4
|
||||
name = Normal
|
||||
definition = voron2_base
|
||||
|
||||
[metadata]
|
||||
setting_version = 11
|
||||
type = quality
|
||||
quality_type = normal
|
||||
material = generic_petg
|
||||
variant = V6 0.25mm
|
||||
|
||||
[values]
|
||||
speed_print = 240
|
||||
|
@ -0,0 +1,14 @@
|
||||
[general]
|
||||
version = 4
|
||||
name = Extra Fine
|
||||
definition = voron2_base
|
||||
|
||||
[metadata]
|
||||
setting_version = 11
|
||||
type = quality
|
||||
quality_type = extrafine
|
||||
material = generic_pla
|
||||
variant = V6 0.25mm
|
||||
|
||||
[values]
|
||||
speed_print = 300
|
15
resources/quality/voron2/voron2_v6_0.25_PLA_fast.inst.cfg
Normal file
15
resources/quality/voron2/voron2_v6_0.25_PLA_fast.inst.cfg
Normal file
@ -0,0 +1,15 @@
|
||||
[general]
|
||||
version = 4
|
||||
name = Fast
|
||||
definition = voron2_base
|
||||
|
||||
[metadata]
|
||||
setting_version = 11
|
||||
type = quality
|
||||
quality_type = fast
|
||||
material = generic_pla
|
||||
variant = V6 0.25mm
|
||||
|
||||
[values]
|
||||
speed_print = 180
|
||||
|
15
resources/quality/voron2/voron2_v6_0.25_PLA_fine.inst.cfg
Normal file
15
resources/quality/voron2/voron2_v6_0.25_PLA_fine.inst.cfg
Normal file
@ -0,0 +1,15 @@
|
||||
[general]
|
||||
version = 4
|
||||
name = Fine
|
||||
definition = voron2_base
|
||||
|
||||
[metadata]
|
||||
setting_version = 11
|
||||
type = quality
|
||||
quality_type = fine
|
||||
material = generic_pla
|
||||
variant = V6 0.25mm
|
||||
|
||||
[values]
|
||||
speed_print = 300
|
||||
|
15
resources/quality/voron2/voron2_v6_0.25_PLA_normal.inst.cfg
Normal file
15
resources/quality/voron2/voron2_v6_0.25_PLA_normal.inst.cfg
Normal file
@ -0,0 +1,15 @@
|
||||
[general]
|
||||
version = 4
|
||||
name = Normal
|
||||
definition = voron2_base
|
||||
|
||||
[metadata]
|
||||
setting_version = 11
|
||||
type = quality
|
||||
quality_type = normal
|
||||
material = generic_pla
|
||||
variant = V6 0.25mm
|
||||
|
||||
[values]
|
||||
speed_print = 240
|
||||
|
@ -0,0 +1,15 @@
|
||||
[general]
|
||||
version = 4
|
||||
name = Extra Fine
|
||||
definition = voron2_base
|
||||
|
||||
[metadata]
|
||||
setting_version = 11
|
||||
type = quality
|
||||
quality_type = extrafine
|
||||
material = generic_abs
|
||||
variant = V6 0.30mm
|
||||
|
||||
[values]
|
||||
speed_print = 300
|
||||
|
15
resources/quality/voron2/voron2_v6_0.30_ABS_fast.inst.cfg
Normal file
15
resources/quality/voron2/voron2_v6_0.30_ABS_fast.inst.cfg
Normal file
@ -0,0 +1,15 @@
|
||||
[general]
|
||||
version = 4
|
||||
name = Fast
|
||||
definition = voron2_base
|
||||
|
||||
[metadata]
|
||||
setting_version = 11
|
||||
type = quality
|
||||
quality_type = fast
|
||||
material = generic_abs
|
||||
variant = V6 0.30mm
|
||||
|
||||
[values]
|
||||
speed_print = 160
|
||||
|
15
resources/quality/voron2/voron2_v6_0.30_ABS_fine.inst.cfg
Normal file
15
resources/quality/voron2/voron2_v6_0.30_ABS_fine.inst.cfg
Normal file
@ -0,0 +1,15 @@
|
||||
[general]
|
||||
version = 4
|
||||
name = Fine
|
||||
definition = voron2_base
|
||||
|
||||
[metadata]
|
||||
setting_version = 11
|
||||
type = quality
|
||||
quality_type = fine
|
||||
material = generic_abs
|
||||
variant = V6 0.30mm
|
||||
|
||||
[values]
|
||||
speed_print = 300
|
||||
|
15
resources/quality/voron2/voron2_v6_0.30_ABS_normal.inst.cfg
Normal file
15
resources/quality/voron2/voron2_v6_0.30_ABS_normal.inst.cfg
Normal file
@ -0,0 +1,15 @@
|
||||
[general]
|
||||
version = 4
|
||||
name = Normal
|
||||
definition = voron2_base
|
||||
|
||||
[metadata]
|
||||
setting_version = 11
|
||||
type = quality
|
||||
quality_type = normal
|
||||
material = generic_abs
|
||||
variant = V6 0.30mm
|
||||
|
||||
[values]
|
||||
speed_print = 200
|
||||
|
@ -0,0 +1,15 @@
|
||||
[general]
|
||||
version = 4
|
||||
name = Extra Fine
|
||||
definition = voron2_base
|
||||
|
||||
[metadata]
|
||||
setting_version = 11
|
||||
type = quality
|
||||
quality_type = extrafine
|
||||
material = generic_nylon
|
||||
variant = V6 0.30mm
|
||||
|
||||
[values]
|
||||
speed_print = 300
|
||||
|
15
resources/quality/voron2/voron2_v6_0.30_Nylon_fast.inst.cfg
Normal file
15
resources/quality/voron2/voron2_v6_0.30_Nylon_fast.inst.cfg
Normal file
@ -0,0 +1,15 @@
|
||||
[general]
|
||||
version = 4
|
||||
name = Fast
|
||||
definition = voron2_base
|
||||
|
||||
[metadata]
|
||||
setting_version = 11
|
||||
type = quality
|
||||
quality_type = fast
|
||||
material = generic_nylon
|
||||
variant = V6 0.30mm
|
||||
|
||||
[values]
|
||||
speed_print = 160
|
||||
|
15
resources/quality/voron2/voron2_v6_0.30_Nylon_fine.inst.cfg
Normal file
15
resources/quality/voron2/voron2_v6_0.30_Nylon_fine.inst.cfg
Normal file
@ -0,0 +1,15 @@
|
||||
[general]
|
||||
version = 4
|
||||
name = Fine
|
||||
definition = voron2_base
|
||||
|
||||
[metadata]
|
||||
setting_version = 11
|
||||
type = quality
|
||||
quality_type = fine
|
||||
material = generic_nylon
|
||||
variant = V6 0.30mm
|
||||
|
||||
[values]
|
||||
speed_print = 300
|
||||
|
@ -0,0 +1,15 @@
|
||||
[general]
|
||||
version = 4
|
||||
name = Normal
|
||||
definition = voron2_base
|
||||
|
||||
[metadata]
|
||||
setting_version = 11
|
||||
type = quality
|
||||
quality_type = normal
|
||||
material = generic_nylon
|
||||
variant = V6 0.30mm
|
||||
|
||||
[values]
|
||||
speed_print = 200
|
||||
|
@ -0,0 +1,15 @@
|
||||
[general]
|
||||
version = 4
|
||||
name = Extra Fine
|
||||
definition = voron2_base
|
||||
|
||||
[metadata]
|
||||
setting_version = 11
|
||||
type = quality
|
||||
quality_type = extrafine
|
||||
material = generic_pc
|
||||
variant = V6 0.30mm
|
||||
|
||||
[values]
|
||||
speed_print = 300
|
||||
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
x
Reference in New Issue
Block a user