Merge branch 'main' into PP-15-enable-skin-edge-support

This commit is contained in:
Rijk van Manen 2022-06-02 17:01:29 +02:00 committed by GitHub
commit a970e455d4
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
119 changed files with 257 additions and 453 deletions

View file

@ -1,6 +1,6 @@
name: Bug Report
description: Create a report to help us fix issues.
labels: "Type: Bug"
labels: ["Type: Bug", "Status: Triage"]
body:
- type: markdown
attributes:
@ -14,7 +14,7 @@ body:
attributes:
label: Application Version
description: The version of Cura this issue occurs with.
placeholder: 4.9.0
placeholder: 5.0.0
validations:
required: true
- type: input

1
.gitignore vendored
View file

@ -65,6 +65,7 @@ plugins/CuraRemoteSupport
plugins/ModelCutter
plugins/PrintProfileCreator
plugins/MultiPrintPlugin
plugins/CuraOrientationPlugin
#Build stuff
CMakeCache.txt

View file

@ -25,9 +25,10 @@
</description>
<screenshots>
<screenshot type="default">
<image>https://raw.githubusercontent.com/Ultimaker/Cura/master/screenshot.png</image>
<image>https://raw.githubusercontent.com/Ultimaker/Cura/main/cura-logo.PNG</image>
</screenshot>
</screenshots>
<url type="homepage">https://ultimaker.com/software/ultimaker-cura?utm_source=cura&amp;utm_medium=software&amp;utm_campaign=cura-update-linux</url>
<translation type="gettext">Cura</translation>
<content_rating type="oars-1.1" />
</component>

View file

@ -257,6 +257,7 @@ class CuraApplication(QtApplication):
from UM.CentralFileStorage import CentralFileStorage
CentralFileStorage.setIsEnterprise(ApplicationMetadata.IsEnterpriseVersion)
Resources.setIsEnterprise(ApplicationMetadata.IsEnterpriseVersion)
@pyqtProperty(str, constant=True)
def ultimakerCloudApiRootUrl(self) -> str:
@ -315,7 +316,7 @@ class CuraApplication(QtApplication):
def initialize(self) -> None:
self.__addExpectedResourceDirsAndSearchPaths() # Must be added before init of super
super().initialize()
super().initialize(ApplicationMetadata.IsEnterpriseVersion)
self._preferences.addPreference("cura/single_instance", False)
self._use_single_instance = self._preferences.getValue("cura/single_instance") or self._cli_args.single_instance
@ -348,12 +349,12 @@ class CuraApplication(QtApplication):
Resources.addExpectedDirNameInData(dir_name)
app_root = os.path.abspath(os.path.join(os.path.dirname(sys.executable)))
Resources.addSearchPath(os.path.join(app_root, "share", "cura", "resources"))
Resources.addSecureSearchPath(os.path.join(app_root, "share", "cura", "resources"))
Resources.addSearchPath(os.path.join(self._app_install_dir, "share", "cura", "resources"))
Resources.addSecureSearchPath(os.path.join(self._app_install_dir, "share", "cura", "resources"))
if not hasattr(sys, "frozen"):
resource_path = os.path.join(os.path.abspath(os.path.dirname(__file__)), "..", "resources")
Resources.addSearchPath(resource_path)
Resources.addSecureSearchPath(resource_path)
@classmethod
def _initializeSettingDefinitions(cls):
@ -942,6 +943,7 @@ class CuraApplication(QtApplication):
self._qml_import_paths.append(Resources.getPath(self.ResourceTypes.QmlFiles))
self._setLoadingHint(self._i18n_catalog.i18nc("@info:progress", "Initializing engine..."))
self.initializeEngine()
self.getTheme().setCheckIfTrusted(ApplicationMetadata.IsEnterpriseVersion)
# Initialize UI state
controller.setActiveStage("PrepareStage")

View file

@ -1,14 +1,18 @@
# Copyright (c) 2018 Ultimaker B.V.
# Cura is released under the terms of the LGPLv3 or higher.
import os
from typing import Any, cast, Dict, List, Set, Tuple, TYPE_CHECKING, Optional
from UM.Logger import Logger
from cura.CuraApplication import CuraApplication # To find some resource types.
from cura.Settings.GlobalStack import GlobalStack
from UM.PackageManager import PackageManager # The class we're extending.
from UM.Resources import Resources # To find storage paths for some resource types.
from UM.i18n import i18nCatalog
from plugins.XmlMaterialProfile.XmlMaterialProfile import XmlMaterialProfile
catalog = i18nCatalog("cura")
if TYPE_CHECKING:
@ -51,6 +55,26 @@ class CuraPackageManager(PackageManager):
super().initialize()
def getMaterialFilePackageId(self, file_name: str, guid: str) -> str:
"""Get the id of the installed material package that contains file_name"""
for material_package in [f for f in os.scandir(self._installation_dirs_dict["materials"]) if f.is_dir()]:
package_id = material_package.name
for root, _, file_names in os.walk(material_package.path):
if file_name not in file_names:
# File with the name we are looking for is not in this directory
continue
with open(root + "/" + file_name, encoding="utf-8") as f:
# Make sure the file we found has the same guid as our material
# Parsing this xml would be better but the namespace is needed to search it.
parsed_guid = XmlMaterialProfile.getMetadataFromSerialized(f.read(), "GUID")
if guid == parsed_guid:
return package_id
Logger.error("Could not find package_id for file: {} with GUID: {} ".format(file_name, guid))
return ""
def getMachinesUsingPackage(self, package_id: str) -> Tuple[List[Tuple[GlobalStack, str, str]], List[Tuple[GlobalStack, str, str]]]:
"""Returns a list of where the package is used

View file

@ -111,7 +111,7 @@ class IntentCategoryModel(ListModel):
except ValueError:
weight = 99
result.append({
"name": IntentCategoryModel.translation(category, "name", category),
"name": IntentCategoryModel.translation(category, "name", category.title()),
"description": IntentCategoryModel.translation(category, "description", None),
"intent_category": category,
"weight": weight,

View file

@ -45,8 +45,7 @@ class MaterialManagementModel(QObject):
for package_id, package_data in application.getPackageManager().getPackagesInstalledOnStartup().items():
if package_data["package_info"]["package_type"] == "material":
# At least one new material was installed
# TODO: This should be enabled again once CURA-8609 is merged
#self._showSyncNewMaterialsMessage()
self._showSyncNewMaterialsMessage()
break
def _showSyncNewMaterialsMessage(self) -> None:

View file

@ -358,8 +358,9 @@ class QualityManagementModel(ListModel):
"quality_type": quality_type,
"quality_changes_group": None,
"intent_category": intent_category,
"section_name": catalog.i18nc("@label", intent_translations.get(intent_category, {}).get("name", catalog.i18nc("@label", "Unknown"))),
"section_name": catalog.i18nc("@label", intent_translations.get(intent_category, {}).get("name", catalog.i18nc("@label", intent_category.title()))),
})
# Sort by quality_type for each intent category
intent_translations_list = list(intent_translations)

View file

@ -1,4 +1,4 @@
# Copyright (c) 2020 Ultimaker B.V.
# Copyright (c) 2022 Ultimaker B.V.
# Cura is released under the terms of the LGPLv3 or higher.
from PyQt6.QtCore import pyqtSignal, pyqtProperty, QObject, QVariant # For communicating data and events to Qt.
@ -382,7 +382,10 @@ class ExtruderManager(QObject):
# "fdmextruder". We need to check a machine here so its extruder definition is correct according to this.
def fixSingleExtrusionMachineExtruderDefinition(self, global_stack: "GlobalStack") -> None:
container_registry = ContainerRegistry.getInstance()
expected_extruder_definition_0_id = global_stack.getMetaDataEntry("machine_extruder_trains")["0"]
expected_extruder_stack = global_stack.getMetaDataEntry("machine_extruder_trains")
if expected_extruder_stack is None:
return
expected_extruder_definition_0_id = expected_extruder_stack["0"]
try:
extruder_stack_0 = global_stack.extruderList[0]
except IndexError:

View file

@ -1611,7 +1611,7 @@ class MachineManager(QObject):
if intent_category != "default":
intent_display_name = IntentCategoryModel.translation(intent_category,
"name",
catalog.i18nc("@label", "Unknown"))
intent_category.title())
display_name = "{intent_name} - {the_rest}".format(intent_name = intent_display_name,
the_rest = display_name)

View file

@ -1,15 +1,19 @@
# Copyright (c) 2015-2022 Ultimaker B.V.
# Cura is released under the terms of the LGPLv3 or higher.
from typing import Optional
import json
from typing import Optional, cast, List, Dict
from UM.Mesh.MeshWriter import MeshWriter
from UM.Math.Vector import Vector
from UM.Logger import Logger
from UM.Math.Matrix import Matrix
from UM.Application import Application
from UM.Message import Message
from UM.Scene.SceneNode import SceneNode
from cura.CuraApplication import CuraApplication
from cura.CuraPackageManager import CuraPackageManager
from cura.Utils.Threading import call_on_qt_thread
from cura.Snapshot import Snapshot
@ -34,6 +38,9 @@ import UM.Application
from UM.i18n import i18nCatalog
catalog = i18nCatalog("cura")
THUMBNAIL_PATH = "Metadata/thumbnail.png"
MODEL_PATH = "3D/3dmodel.model"
PACKAGE_METADATA_PATH = "Metadata/packages.json"
class ThreeMFWriter(MeshWriter):
def __init__(self):
@ -46,7 +53,7 @@ class ThreeMFWriter(MeshWriter):
}
self._unit_matrix_string = self._convertMatrixToString(Matrix())
self._archive = None # type: Optional[zipfile.ZipFile]
self._archive: Optional[zipfile.ZipFile] = None
self._store_archive = False
def _convertMatrixToString(self, matrix):
@ -132,11 +139,11 @@ class ThreeMFWriter(MeshWriter):
def getArchive(self):
return self._archive
def write(self, stream, nodes, mode = MeshWriter.OutputMode.BinaryMode):
def write(self, stream, nodes, mode = MeshWriter.OutputMode.BinaryMode) -> bool:
self._archive = None # Reset archive
archive = zipfile.ZipFile(stream, "w", compression = zipfile.ZIP_DEFLATED)
try:
model_file = zipfile.ZipInfo("3D/3dmodel.model")
model_file = zipfile.ZipInfo(MODEL_PATH)
# Because zipfile is stupid and ignores archive-level compression settings when writing with ZipInfo.
model_file.compress_type = zipfile.ZIP_DEFLATED
@ -151,7 +158,7 @@ class ThreeMFWriter(MeshWriter):
relations_file = zipfile.ZipInfo("_rels/.rels")
relations_file.compress_type = zipfile.ZIP_DEFLATED
relations_element = ET.Element("Relationships", xmlns = self._namespaces["relationships"])
model_relation_element = ET.SubElement(relations_element, "Relationship", Target = "/3D/3dmodel.model", Id = "rel0", Type = "http://schemas.microsoft.com/3dmanufacturing/2013/01/3dmodel")
model_relation_element = ET.SubElement(relations_element, "Relationship", Target = "/" + MODEL_PATH, Id = "rel0", Type = "http://schemas.microsoft.com/3dmanufacturing/2013/01/3dmodel")
# Attempt to add a thumbnail
snapshot = self._createSnapshot()
@ -160,28 +167,32 @@ class ThreeMFWriter(MeshWriter):
thumbnail_buffer.open(QBuffer.OpenModeFlag.ReadWrite)
snapshot.save(thumbnail_buffer, "PNG")
thumbnail_file = zipfile.ZipInfo("Metadata/thumbnail.png")
thumbnail_file = zipfile.ZipInfo(THUMBNAIL_PATH)
# Don't try to compress snapshot file, because the PNG is pretty much as compact as it will get
archive.writestr(thumbnail_file, thumbnail_buffer.data())
# Add PNG to content types file
thumbnail_type = ET.SubElement(content_types, "Default", Extension = "png", ContentType = "image/png")
# Add thumbnail relation to _rels/.rels file
thumbnail_relation_element = ET.SubElement(relations_element, "Relationship", Target = "/Metadata/thumbnail.png", Id = "rel1", Type = "http://schemas.openxmlformats.org/package/2006/relationships/metadata/thumbnail")
thumbnail_relation_element = ET.SubElement(relations_element, "Relationship", Target = "/" + THUMBNAIL_PATH, Id = "rel1", Type = "http://schemas.openxmlformats.org/package/2006/relationships/metadata/thumbnail")
# Write material metadata
material_metadata = self._getMaterialPackageMetadata()
self._storeMetadataJson({"packages": material_metadata}, archive, PACKAGE_METADATA_PATH)
savitar_scene = Savitar.Scene()
metadata_to_store = CuraApplication.getInstance().getController().getScene().getMetaData()
scene_metadata = CuraApplication.getInstance().getController().getScene().getMetaData()
for key, value in metadata_to_store.items():
for key, value in scene_metadata.items():
savitar_scene.setMetaDataEntry(key, value)
current_time_string = datetime.datetime.now().strftime("%Y-%m-%d %H:%M:%S")
if "Application" not in metadata_to_store:
if "Application" not in scene_metadata:
# This might sound a bit strange, but this field should store the original application that created
# the 3mf. So if it was already set, leave it to whatever it was.
savitar_scene.setMetaDataEntry("Application", CuraApplication.getInstance().getApplicationDisplayName())
if "CreationDate" not in metadata_to_store:
if "CreationDate" not in scene_metadata:
savitar_scene.setMetaDataEntry("CreationDate", current_time_string)
savitar_scene.setMetaDataEntry("ModificationDate", current_time_string)
@ -233,6 +244,52 @@ class ThreeMFWriter(MeshWriter):
return True
@staticmethod
def _storeMetadataJson(metadata: Dict[str, List[Dict[str, str]]], archive: zipfile.ZipFile, path: str) -> None:
"""Stores metadata inside archive path as json file"""
metadata_file = zipfile.ZipInfo(path)
# We have to set the compress type of each file as well (it doesn't keep the type of the entire archive)
metadata_file.compress_type = zipfile.ZIP_DEFLATED
archive.writestr(metadata_file, json.dumps(metadata, separators=(", ", ": "), indent=4, skipkeys=True, ensure_ascii=False))
@staticmethod
def _getMaterialPackageMetadata() -> List[Dict[str, str]]:
"""Get metadata for installed materials in active extruder stack, this does not include bundled materials.
:return: List of material metadata dictionaries.
"""
metadata = {}
package_manager = cast(CuraPackageManager, CuraApplication.getInstance().getPackageManager())
for extruder in CuraApplication.getInstance().getExtruderManager().getActiveExtruderStacks():
if not extruder.isEnabled:
# Don't export materials not in use
continue
package_id = package_manager.getMaterialFilePackageId(extruder.material.getFileName(), extruder.material.getMetaDataEntry("GUID"))
package_data = package_manager.getInstalledPackageInfo(package_id)
if not package_data:
message = Message(catalog.i18nc("@error:material",
"It was not possible to store material package information in project file: {material}. This project may not open correctly on other systems.".format(material=extruder.getName())),
title=catalog.i18nc("@info:title", "Failed to save material package information"),
message_type=Message.MessageType.WARNING)
message.show()
if package_data.get("is_bundled"):
continue
material_metadata = {"id": package_id,
"display_name": package_data.get("display_name") if package_data.get("display_name") else "",
"package_version": package_data.get("package_version") if package_data.get("package_version") else "",
"sdk_version_semver": package_data.get("sdk_version_semver") if package_data.get("sdk_version_semver") else ""}
metadata[package_id] = material_metadata
# Storing in a dict and fetching values to avoid duplicates
return list(metadata.values())
@call_on_qt_thread # must be called from the main thread because of OpenGL
def _createSnapshot(self):
Logger.log("d", "Creating thumbnail image...")

View file

@ -60,7 +60,7 @@ class CuraEngineBackend(QObject, Backend):
executable_name = "CuraEngine"
if Platform.isWindows():
executable_name += ".exe"
default_engine_location = executable_name
self._default_engine_location = executable_name
search_path = [
os.path.abspath(os.path.dirname(sys.executable)),
@ -74,29 +74,29 @@ class CuraEngineBackend(QObject, Backend):
for path in search_path:
engine_path = os.path.join(path, executable_name)
if os.path.isfile(engine_path):
default_engine_location = engine_path
self._default_engine_location = engine_path
break
if Platform.isLinux() and not default_engine_location:
if Platform.isLinux() and not self._default_engine_location:
if not os.getenv("PATH"):
raise OSError("There is something wrong with your Linux installation.")
for pathdir in cast(str, os.getenv("PATH")).split(os.pathsep):
execpath = os.path.join(pathdir, executable_name)
if os.path.exists(execpath):
default_engine_location = execpath
self._default_engine_location = execpath
break
application = CuraApplication.getInstance() #type: CuraApplication
self._multi_build_plate_model = None #type: Optional[MultiBuildPlateModel]
self._machine_error_checker = None #type: Optional[MachineErrorChecker]
if not default_engine_location:
if not self._default_engine_location:
raise EnvironmentError("Could not find CuraEngine")
Logger.log("i", "Found CuraEngine at: %s", default_engine_location)
Logger.log("i", "Found CuraEngine at: %s", self._default_engine_location)
default_engine_location = os.path.abspath(default_engine_location)
application.getPreferences().addPreference("backend/location", default_engine_location)
self._default_engine_location = os.path.abspath(self._default_engine_location)
application.getPreferences().addPreference("backend/location", self._default_engine_location)
# Workaround to disable layer view processing if layer view is not active.
self._layer_view_active = False #type: bool
@ -215,7 +215,12 @@ class CuraEngineBackend(QObject, Backend):
This is useful for debugging and used to actually start the engine.
:return: list of commands and args / parameters.
"""
command = [CuraApplication.getInstance().getPreferences().getValue("backend/location"), "connect", "127.0.0.1:{0}".format(self._port), ""]
from cura import ApplicationMetadata
if ApplicationMetadata.IsEnterpriseVersion:
command = [self._default_engine_location]
else:
command = [CuraApplication.getInstance().getPreferences().getValue("backend/location")]
command += ["connect", "127.0.0.1:{0}".format(self._port), ""]
parser = argparse.ArgumentParser(prog = "cura", add_help = False)
parser.add_argument("--debug", action = "store_true", default = False, help = "Turn on the debug mode by setting this option.")

View file

@ -122,6 +122,7 @@ Rectangle
}
visible: !isNetworkConfigured && isNetworkConfigurable
width: childrenRect.width
height: childrenRect.height
UM.ColorImage
{

View file

@ -343,6 +343,9 @@ class XmlMaterialProfile(InstanceContainer):
return stream.getvalue().decode("utf-8")
def getFileName(self) -> str:
return (self.getMetaDataEntry("base_file") + ".xml.fdm_material").replace(" ", "+")
# Recursively resolve loading inherited files
def _resolveInheritance(self, file_name):
xml = self._loadFile(file_name)
@ -477,6 +480,15 @@ class XmlMaterialProfile(InstanceContainer):
return version * 1000000 + setting_version
@classmethod
def getMetadataFromSerialized(cls, serialized: str, property_name: str) -> str:
data = ET.fromstring(serialized)
metadata = data.find("./um:metadata", cls.__namespaces)
property = metadata.find("./um:" + property_name, cls.__namespaces)
# This is a necessary property != None check, xml library overrides __bool__ to return False in cases when Element is not None.
return property.text if property != None else ""
def deserialize(self, serialized, file_name = None):
"""Overridden from InstanceContainer"""

View file

@ -44,7 +44,6 @@
"machine_max_jerk_xy": { "value": 8 },
"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 },
"infill_overlap": { "default_value": 15 },
"acceleration_print": { "value": 500 },

View file

@ -50,9 +50,6 @@
"wall_thickness": {
"value": "wall_line_width_0 + wall_line_width_x"
},
"infill_before_walls": {
"value": "False"
},
"infill_material_flow": {
"value": "(1.95-infill_sparse_density / 100 if infill_sparse_density > 95 else 1) * material_flow"
},
@ -60,13 +57,16 @@
"value": "'no_outer_surfaces'"
},
"roofing_layer_count": {
"value": "0"
"value": "1"
},
"roofing_material_flow": {
"value": "material_flow"
},
"skin_material_flow": {
"value": "0.97 * material_flow"
"value": "0.95 * material_flow"
},
"support_interface_material_flow": {
"value": "skin_material_flow"
},
"skin_monotonic" : {
"value": true
@ -89,14 +89,118 @@
"meshfix_maximum_deviation": {
"value": "machine_nozzle_size / 10"
},
"jerk_travel": {
"value": "jerk_print"
},
"acceleration_travel": {
"value": "acceleration_wall"
},
"skin_edge_support_thickness": {
"value": "4 * layer_height if infill_sparse_density < 30 else 0"
},
"bridge_settings_enabled": {
"value": false
},
"bridge_wall_min_length": {
"value": 0
},
"bridge_skin_support_threshold": {
"value": 50
},
"bridge_sparse_infill_max_density": {
"value": 0
},
"bridge_wall_coast": {
"value": 0
},
"bridge_wall_speed": {
"value": "speed_wall"
},
"bridge_wall_material_flow": {
"value": "wall_material_flow"
},
"bridge_skin_speed": {
"value": "speed_topbottom"
},
"bridge_skin_material_flow": {
"value": "skin_material_flow"
},
"bridge_skin_density": {
"value": "80"
},
"bridge_fan_speed": {
"value": "cool_fan_speed_max"
},
"bridge_enable_more_layers": {
"value": false
},
"bridge_skin_speed_2": {
"value": "speed_topbottom"
},
"bridge_skin_material_flow_2": {
"value": "skin_material_flow"
},
"bridge_skin_density_2": {
"value": 100
},
"bridge_fan_speed_2": {
"value": "cool_fan_speed_min"
},
"bridge_skin_speed_3": {
"value": "speed_topbottom"
},
"bridge_skin_material_flow_3": {
"value": "skin_material_flow"
},
"bridge_skin_density_3": {
"value": 100
},
"bridge_fan_speed_3": {
"value": "cool_fan_speed_min"
},
"jerk_print": {
"value": "20",
"minimum_value_warning": 20
},
"jerk_infill": {
"minimum_value_warning": 20
},
"jerk_wall": {
"minimum_value_warning": 20
},
"jerk_wall_0": {
"minimum_value_warning": 20
},
"jerk_roofing": {
"minimum_value_warning": 20
},
"jerk_topbottom": {
"minimum_value_warning": 20
},
"jerk_support": {
"minimum_value_warning": 20
},
"jerk_support_infill": {
"minimum_value_warning": 20
},
"jerk_support_interface": {
"minimum_value_warning": 20
},
"jerk_prime_tower": {
"minimum_value_warning": 20
},
"jerk_layer_0": {
"minimum_value_warning": 20
},
"jerk_print_layer_0": {
"minimum_value_warning": 20
},
"jerk_travel": {
"value": "jerk_print",
"minimum_value_warning": 20
},
"jerk_travel_layer_0": {
"minimum_value_warning": 20
},
"jerk_skirt_brim": {
"minimum_value_warning": 20
}
}
}

View file

@ -101,20 +101,6 @@
"infill_wipe_dist": { "value": "0" },
"initial_layer_line_width_factor": { "value": "120" },
"jerk_enabled": { "value": "True" },
"jerk_print": { "value": "20", "minimum_value_warning": 20 },
"jerk_infill": {"minimum_value_warning": 20 },
"jerk_wall": { "value": "jerk_print", "minimum_value_warning": 20 },
"jerk_wall_0": { "value": "jerk_wall", "minimum_value_warning": 20 },
"jerk_roofing": {"minimum_value_warning": 20 },
"jerk_topbottom": { "value": "jerk_print", "minimum_value_warning": 20 },
"jerk_support": { "value": "jerk_print", "minimum_value_warning": 20 },
"jerk_support_infill": {"minimum_value_warning": 20 },
"jerk_support_interface": { "value": "math.ceil(jerk_print * 5 / 20)"},
"jerk_prime_tower": { "value": "jerk_print", "minimum_value_warning": 20 },
"jerk_layer_0": { "value": "jerk_topbottom", "minimum_value_warning": 20},
"jerk_print_layer_0": {"minimum_value_warning": 20 },
"jerk_travel_layer_0": {"minimum_value_warning": 20 },
"jerk_skirt_brim": {"minimum_value_warning": 20 },
"layer_height_0": { "value": "round(machine_nozzle_size / 1.5, 2)" },
"layer_start_x": { "value": "sum(extruderValues('machine_extruder_start_pos_x')) / len(extruderValues('machine_extruder_start_pos_x'))" },
"layer_start_y": { "value": "sum(extruderValues('machine_extruder_start_pos_y')) / len(extruderValues('machine_extruder_start_pos_y'))" },

View file

@ -93,20 +93,6 @@
"infill_pattern": { "value": "'zigzag' if infill_sparse_density > 80 else 'triangles'" },
"infill_wipe_dist": { "value": "0" },
"jerk_enabled": { "value": "True" },
"jerk_print": { "value": "20", "minimum_value_warning": 20 },
"jerk_infill": {"minimum_value_warning": 20 },
"jerk_wall": { "value": "jerk_print", "minimum_value_warning": 20 },
"jerk_wall_0": { "value": "jerk_wall", "minimum_value_warning": 20 },
"jerk_roofing": {"minimum_value_warning": 20 },
"jerk_topbottom": { "value": "jerk_print", "minimum_value_warning": 20 },
"jerk_support": { "value": "jerk_print", "minimum_value_warning": 20 },
"jerk_support_infill": {"minimum_value_warning": 20 },
"jerk_support_interface": { "value": "math.ceil(jerk_print * 5 / 20)"},
"jerk_prime_tower": { "value": "jerk_print", "minimum_value_warning": 20 },
"jerk_layer_0": { "value": "jerk_topbottom", "minimum_value_warning": 20},
"jerk_print_layer_0": {"minimum_value_warning": 20 },
"jerk_travel_layer_0": {"minimum_value_warning": 20 },
"jerk_skirt_brim": {"minimum_value_warning": 20 },
"layer_height_0": { "value": "round(machine_nozzle_size / 1.5, 2)" },
"layer_start_x": { "value": "sum(extruderValues('machine_extruder_start_pos_x')) / len(extruderValues('machine_extruder_start_pos_x'))" },
"layer_start_y": { "value": "sum(extruderValues('machine_extruder_start_pos_y')) / len(extruderValues('machine_extruder_start_pos_y'))" },
@ -155,7 +141,6 @@
"switch_extruder_prime_speed": { "value": "15" },
"switch_extruder_retraction_amount": { "value": "8" },
"top_bottom_thickness": { "value": "1" },
"travel_avoid_supports": { "value": "True" },
"travel_avoid_distance": { "value": "3 if extruders_enabled_count > 1 else machine_nozzle_tip_outer_diameter / 2 * 1.5" },
"wall_0_inset": { "value": "0" },
"initial_layer_line_width_factor": { "value": "120" },

View file

@ -95,20 +95,6 @@
"infill_pattern": { "value": "'zigzag' if infill_sparse_density > 80 else 'triangles'" },
"infill_wipe_dist": { "value": "0" },
"jerk_enabled": { "value": "True" },
"jerk_print": { "value": "20", "minimum_value_warning": 20 },
"jerk_infill": {"minimum_value_warning": 20 },
"jerk_wall": { "value": "jerk_print", "minimum_value_warning": 20 },
"jerk_wall_0": { "value": "jerk_wall", "minimum_value_warning": 20 },
"jerk_roofing": {"minimum_value_warning": 20 },
"jerk_topbottom": { "value": "jerk_print", "minimum_value_warning": 20 },
"jerk_support": { "value": "jerk_print", "minimum_value_warning": 20 },
"jerk_support_infill": {"minimum_value_warning": 20 },
"jerk_support_interface": { "value": "math.ceil(jerk_print * 5 / 20)"},
"jerk_prime_tower": { "value": "jerk_print", "minimum_value_warning": 20 },
"jerk_layer_0": { "value": "jerk_topbottom", "minimum_value_warning": 20},
"jerk_print_layer_0": {"minimum_value_warning": 20 },
"jerk_travel_layer_0": {"minimum_value_warning": 20 },
"jerk_skirt_brim": {"minimum_value_warning": 20 },
"layer_height_0": { "value": "round(machine_nozzle_size / 1.5, 2)" },
"layer_start_x": { "value": "sum(extruderValues('machine_extruder_start_pos_x')) / len(extruderValues('machine_extruder_start_pos_x'))" },
"layer_start_y": { "value": "sum(extruderValues('machine_extruder_start_pos_y')) / len(extruderValues('machine_extruder_start_pos_y'))" },
@ -157,7 +143,6 @@
"switch_extruder_prime_speed": { "value": "15" },
"switch_extruder_retraction_amount": { "value": "8" },
"top_bottom_thickness": { "value": "1" },
"travel_avoid_supports": { "value": "True" },
"travel_avoid_distance": { "value": "3 if extruders_enabled_count > 1 else machine_nozzle_tip_outer_diameter / 2 * 1.5" },
"wall_0_inset": { "value": "0" },
"optimize_wall_printing_order": { "value": "True" },

View file

@ -138,7 +138,6 @@
"machine_height": {"default_value": 250},
"machine_extruder_count": {"value": 2},
"machine_buildplate_type": {"value": "glass"},
"machine_heated_bed": {"default_value": true},
"machine_center_is_zero": {"default_value": false},
"machine_gcode_flavor": {"default_value": "RepRap (Marlin/Sprinter)"},
"machine_head_with_fans_polygon": {"default_value": [

View file

@ -147,7 +147,6 @@
"machine_height": {"default_value": 270},
"machine_extruder_count": {"value": 1},
"machine_buildplate_type": {"value": "glass"},
"machine_heated_bed": {"default_value": true},
"machine_center_is_zero": {"default_value": false},
"machine_gcode_flavor": {"default_value": "RepRap (Marlin/Sprinter)"},
"machine_head_with_fans_polygon": {"default_value": [

View file

@ -22,11 +22,6 @@ top_bottom_thickness = 0.8
infill_sparse_density = 15
jerk_print = 30
jerk_infill = =jerk_print
jerk_topbottom = =jerk_print
jerk_wall = =jerk_print
jerk_wall_0 = =jerk_wall
jerk_wall_x = =jerk_wall
jerk_layer_0 = 5

View file

@ -14,12 +14,6 @@ variant = AA 0.4
[values]
jerk_print = 30
jerk_infill = =jerk_print
jerk_topbottom = =jerk_print
jerk_wall = =jerk_print
jerk_wall_0 = =jerk_wall
jerk_wall_x = =jerk_wall
jerk_layer_0 = 5
speed_print = 30
speed_infill = =speed_print

View file

@ -14,12 +14,6 @@ variant = AA 0.4
[values]
jerk_print = 30
jerk_infill = =jerk_print
jerk_topbottom = =jerk_print
jerk_wall = =jerk_print
jerk_wall_0 = =jerk_wall
jerk_wall_x = =jerk_wall
jerk_layer_0 = 5
speed_print = 30
speed_infill = =speed_print

View file

@ -14,12 +14,6 @@ variant = AA 0.4
[values]
jerk_print = 30
jerk_infill = =jerk_print
jerk_topbottom = =jerk_print
jerk_wall = =jerk_print
jerk_wall_0 = =jerk_wall
jerk_wall_x = =jerk_wall
jerk_layer_0 = 5
speed_print = 30
speed_infill = =speed_print

View file

@ -14,12 +14,6 @@ variant = AA 0.4
[values]
jerk_print = 30
jerk_infill = =jerk_print
jerk_topbottom = =jerk_print
jerk_wall = =jerk_print
jerk_wall_0 = =jerk_wall
jerk_wall_x = =jerk_wall
jerk_layer_0 = 5
speed_print = 30
speed_infill = =speed_print

View file

@ -14,12 +14,6 @@ variant = AA 0.4
[values]
jerk_print = 30
jerk_infill = =jerk_print
jerk_topbottom = =jerk_print
jerk_wall = =jerk_print
jerk_wall_0 = =jerk_wall
jerk_wall_x = =jerk_wall
jerk_layer_0 = 5
speed_print = 30
speed_infill = =speed_print

View file

@ -14,12 +14,6 @@ variant = AA 0.4
[values]
jerk_print = 30
jerk_infill = =jerk_print
jerk_topbottom = =jerk_print
jerk_wall = =jerk_print
jerk_wall_0 = =jerk_wall
jerk_wall_x = =jerk_wall
jerk_layer_0 = 5
speed_print = 30
speed_infill = =speed_print

View file

@ -14,12 +14,6 @@ variant = AA 0.4
[values]
jerk_print = 30
jerk_infill = =jerk_print
jerk_topbottom = =jerk_print
jerk_wall = =jerk_print
jerk_wall_0 = =jerk_wall
jerk_wall_x = =jerk_wall
jerk_layer_0 = 5
speed_print = 30
speed_infill = =speed_print

View file

@ -14,12 +14,6 @@ variant = AA 0.4
[values]
jerk_print = 30
jerk_infill = =jerk_print
jerk_topbottom = =jerk_print
jerk_wall = =jerk_print
jerk_wall_0 = =jerk_wall
jerk_wall_x = =jerk_wall
jerk_layer_0 = 5
speed_print = 30
speed_infill = =speed_print

View file

@ -14,12 +14,6 @@ variant = AA 0.4
[values]
jerk_print = 30
jerk_infill = =jerk_print
jerk_topbottom = =jerk_print
jerk_wall = =jerk_print
jerk_wall_0 = =jerk_wall
jerk_wall_x = =jerk_wall
jerk_layer_0 = 5
speed_print = 30
speed_infill = =speed_print

View file

@ -14,12 +14,6 @@ variant = AA 0.4
[values]
jerk_print = 30
jerk_infill = =jerk_print
jerk_topbottom = =jerk_print
jerk_wall = =jerk_print
jerk_wall_0 = =jerk_wall
jerk_wall_x = =jerk_wall
jerk_layer_0 = 5
speed_print = 30
speed_infill = =speed_print

View file

@ -14,12 +14,6 @@ variant = AA 0.4
[values]
jerk_print = 30
jerk_infill = =jerk_print
jerk_topbottom = =jerk_print
jerk_wall = =jerk_print
jerk_wall_0 = =jerk_wall
jerk_wall_x = =jerk_wall
jerk_layer_0 = 5
speed_print = 30
speed_infill = =speed_print

View file

@ -16,12 +16,6 @@ is_experimental = True
infill_sparse_density = 10
jerk_print = 30
jerk_infill = =jerk_print
jerk_topbottom = =jerk_print
jerk_wall = =jerk_print
jerk_wall_0 = =jerk_wall
jerk_wall_x = =jerk_wall
jerk_layer_0 = 5
acceleration_print = 4000
acceleration_wall = 2000

View file

@ -14,12 +14,6 @@ variant = AA 0.4
[values]
jerk_print = 30
jerk_infill = =jerk_print
jerk_topbottom = =jerk_print
jerk_wall = =jerk_print
jerk_wall_0 = =jerk_wall
jerk_wall_x = =jerk_wall
jerk_layer_0 = 5
speed_print = 30
speed_infill = =speed_print

View file

@ -14,12 +14,6 @@ variant = AA 0.4
[values]
jerk_print = 30
jerk_infill = =jerk_print
jerk_topbottom = =jerk_print
jerk_wall = =jerk_print
jerk_wall_0 = =jerk_wall
jerk_wall_x = =jerk_wall
jerk_layer_0 = 5
speed_print = 30
speed_infill = =speed_print

View file

@ -22,11 +22,6 @@ top_bottom_thickness = 0.8
infill_sparse_density = 15
jerk_print = 30
jerk_infill = =jerk_print
jerk_topbottom = =jerk_print
jerk_wall = =jerk_print
jerk_wall_0 = =jerk_wall
jerk_wall_x = =jerk_wall
jerk_layer_0 = 5

View file

@ -14,12 +14,6 @@ variant = AA 0.4
[values]
jerk_print = 30
jerk_infill = =jerk_print
jerk_topbottom = =jerk_print
jerk_wall = =jerk_print
jerk_wall_0 = =jerk_wall
jerk_wall_x = =jerk_wall
jerk_layer_0 = 5
speed_print = 30
speed_infill = =speed_print

View file

@ -14,12 +14,6 @@ variant = AA 0.4
[values]
jerk_print = 30
jerk_infill = =jerk_print
jerk_topbottom = =jerk_print
jerk_wall = =jerk_print
jerk_wall_0 = =jerk_wall
jerk_wall_x = =jerk_wall
jerk_layer_0 = 5
speed_print = 30
speed_infill = =speed_print

View file

@ -14,12 +14,6 @@ variant = AA 0.4
[values]
jerk_print = 30
jerk_infill = =jerk_print
jerk_topbottom = =jerk_print
jerk_wall = =jerk_print
jerk_wall_0 = =jerk_wall
jerk_wall_x = =jerk_wall
jerk_layer_0 = 5
speed_print = 30
speed_infill = =speed_print

View file

@ -14,12 +14,6 @@ variant = AA 0.4
[values]
jerk_print = 30
jerk_infill = =jerk_print
jerk_topbottom = =jerk_print
jerk_wall = =jerk_print
jerk_wall_0 = =jerk_wall
jerk_wall_x = =jerk_wall
jerk_layer_0 = 5
speed_print = 30
speed_infill = =speed_print

View file

@ -14,12 +14,6 @@ variant = AA 0.4
[values]
jerk_print = 30
jerk_infill = =jerk_print
jerk_topbottom = =jerk_print
jerk_wall = =jerk_print
jerk_wall_0 = =jerk_wall
jerk_wall_x = =jerk_wall
jerk_layer_0 = 5
speed_print = 30
speed_infill = =speed_print

View file

@ -14,12 +14,6 @@ variant = AA 0.4
[values]
jerk_print = 30
jerk_infill = =jerk_print
jerk_topbottom = =jerk_print
jerk_wall = =jerk_print
jerk_wall_0 = =jerk_wall
jerk_wall_x = =jerk_wall
jerk_layer_0 = 5
speed_print = 30
speed_infill = =speed_print

View file

@ -14,12 +14,6 @@ variant = AA 0.4
[values]
jerk_print = 30
jerk_infill = =jerk_print
jerk_topbottom = =jerk_print
jerk_wall = =jerk_print
jerk_wall_0 = =jerk_wall
jerk_wall_x = =jerk_wall
jerk_layer_0 = 5
speed_print = 30
speed_infill = =speed_print

View file

@ -14,12 +14,6 @@ variant = AA 0.4
[values]
jerk_print = 30
jerk_infill = =jerk_print
jerk_topbottom = =jerk_print
jerk_wall = =jerk_print
jerk_wall_0 = =jerk_wall
jerk_wall_x = =jerk_wall
jerk_layer_0 = 5
speed_print = 30
speed_infill = =speed_print

View file

@ -14,12 +14,6 @@ variant = AA 0.4
[values]
jerk_print = 30
jerk_infill = =jerk_print
jerk_topbottom = =jerk_print
jerk_wall = =jerk_print
jerk_wall_0 = =jerk_wall
jerk_wall_x = =jerk_wall
jerk_layer_0 = 5
speed_print = 30
speed_infill = =speed_print

View file

@ -14,12 +14,6 @@ variant = AA 0.4
[values]
jerk_print = 30
jerk_infill = =jerk_print
jerk_topbottom = =jerk_print
jerk_wall = =jerk_print
jerk_wall_0 = =jerk_wall
jerk_wall_x = =jerk_wall
jerk_layer_0 = 5
speed_print = 30
speed_infill = =speed_print

View file

@ -14,12 +14,6 @@ variant = AA 0.4
[values]
jerk_print = 30
jerk_infill = =jerk_print
jerk_topbottom = =jerk_print
jerk_wall = =jerk_print
jerk_wall_0 = =jerk_wall
jerk_wall_x = =jerk_wall
jerk_layer_0 = 5
speed_print = 30
speed_infill = =speed_print

View file

@ -14,12 +14,6 @@ variant = AA 0.4
[values]
jerk_print = 30
jerk_infill = =jerk_print
jerk_topbottom = =jerk_print
jerk_wall = =jerk_print
jerk_wall_0 = =jerk_wall
jerk_wall_x = =jerk_wall
jerk_layer_0 = 5
speed_print = 30
speed_infill = =speed_print

View file

@ -22,11 +22,6 @@ top_bottom_thickness = 0.8
infill_sparse_density = 15
jerk_print = 30
jerk_infill = =jerk_print
jerk_topbottom = =jerk_print
jerk_wall = =jerk_print
jerk_wall_0 = =jerk_wall
jerk_wall_x = =jerk_wall
jerk_layer_0 = 5

View file

@ -14,12 +14,6 @@ variant = AA 0.4
[values]
jerk_print = 30
jerk_infill = =jerk_print
jerk_topbottom = =jerk_print
jerk_wall = =jerk_print
jerk_wall_0 = =jerk_wall
jerk_wall_x = =jerk_wall
jerk_layer_0 = 5
speed_print = 30
speed_infill = =speed_print

View file

@ -14,12 +14,6 @@ variant = AA 0.4
[values]
jerk_print = 30
jerk_infill = =jerk_print
jerk_topbottom = =jerk_print
jerk_wall = =jerk_print
jerk_wall_0 = =jerk_wall
jerk_wall_x = =jerk_wall
jerk_layer_0 = 5
speed_print = 30
speed_infill = =speed_print

View file

@ -16,12 +16,6 @@ is_experimental = True
infill_sparse_density = 10
jerk_print = 30
jerk_infill = =jerk_print
jerk_topbottom = =jerk_print
jerk_wall = =jerk_print
jerk_wall_0 = =jerk_wall
jerk_wall_x = =jerk_wall
jerk_layer_0 = 5
acceleration_print = 4000
acceleration_wall = 2000

View file

@ -22,11 +22,6 @@ top_bottom_thickness = 0.8
infill_sparse_density = 15
jerk_print = 30
jerk_infill = =jerk_print
jerk_topbottom = =jerk_print
jerk_wall = =jerk_print
jerk_wall_0 = =jerk_wall
jerk_wall_x = =jerk_wall
jerk_layer_0 = 5

View file

@ -14,12 +14,6 @@ variant = AA 0.4
[values]
jerk_print = 30
jerk_infill = =jerk_print
jerk_topbottom = =jerk_print
jerk_wall = =jerk_print
jerk_wall_0 = =jerk_wall
jerk_wall_x = =jerk_wall
jerk_layer_0 = 5
speed_print = 30
speed_infill = =speed_print

View file

@ -14,12 +14,6 @@ variant = AA 0.4
[values]
jerk_print = 30
jerk_infill = =jerk_print
jerk_topbottom = =jerk_print
jerk_wall = =jerk_print
jerk_wall_0 = =jerk_wall
jerk_wall_x = =jerk_wall
jerk_layer_0 = 5
speed_print = 30
speed_infill = =speed_print

View file

@ -16,12 +16,6 @@ is_experimental = True
infill_sparse_density = 10
jerk_print = 30
jerk_infill = =jerk_print
jerk_topbottom = =jerk_print
jerk_wall = =jerk_print
jerk_wall_0 = =jerk_wall
jerk_wall_x = =jerk_wall
jerk_layer_0 = 5
acceleration_print = 4000
acceleration_wall = 2000

View file

@ -29,15 +29,6 @@ cool_min_speed = 20
infill_overlap = 0
infill_pattern = ='zigzag' if infill_sparse_density > 80 else 'cubic'
infill_wipe_dist = 0
jerk_enabled = True
jerk_layer_0 = =jerk_topbottom
jerk_prime_tower = =math.ceil(jerk_print * 15 / 25)
jerk_print = 25
jerk_support = =math.ceil(jerk_print * 15 / 25)
jerk_support_interface = =jerk_topbottom
jerk_topbottom = =math.ceil(jerk_print * 5 / 25)
jerk_wall = =math.ceil(jerk_print * 10 / 25)
jerk_wall_0 = =math.ceil(jerk_wall * 5 / 10)
multiple_mesh_overlap = 0
retraction_count_max = 12
retraction_extrusion_window = 1

View file

@ -29,15 +29,6 @@ cool_min_speed = 20
infill_overlap = 0
infill_pattern = ='zigzag' if infill_sparse_density > 80 else 'cubic'
infill_wipe_dist = 0
jerk_enabled = True
jerk_layer_0 = =jerk_topbottom
jerk_prime_tower = =math.ceil(jerk_print * 15 / 25)
jerk_print = 25
jerk_support = =math.ceil(jerk_print * 15 / 25)
jerk_support_interface = =jerk_topbottom
jerk_topbottom = =math.ceil(jerk_print * 5 / 25)
jerk_wall = =math.ceil(jerk_print * 10 / 25)
jerk_wall_0 = =math.ceil(jerk_wall * 5 / 10)
multiple_mesh_overlap = 0
retraction_count_max = 12
retraction_extrusion_window = 1

View file

@ -29,15 +29,6 @@ cool_min_speed = 20
infill_overlap = 0
infill_pattern = ='zigzag' if infill_sparse_density > 80 else 'cubic'
infill_wipe_dist = 0
jerk_enabled = True
jerk_layer_0 = =jerk_topbottom
jerk_prime_tower = =math.ceil(jerk_print * 15 / 25)
jerk_print = 25
jerk_support = =math.ceil(jerk_print * 15 / 25)
jerk_support_interface = =jerk_topbottom
jerk_topbottom = =math.ceil(jerk_print * 5 / 25)
jerk_wall = =math.ceil(jerk_print * 10 / 25)
jerk_wall_0 = =math.ceil(jerk_wall * 5 / 10)
multiple_mesh_overlap = 0
retraction_count_max = 12
retraction_extrusion_window = 1

View file

@ -29,15 +29,6 @@ cool_min_speed = 20
infill_overlap = 0
infill_pattern = ='zigzag' if infill_sparse_density > 80 else 'tetrahedral'
infill_wipe_dist = 0
jerk_enabled = True
jerk_layer_0 = =jerk_topbottom
jerk_prime_tower = =math.ceil(jerk_print * 15 / 25)
jerk_print = 25
jerk_support = =math.ceil(jerk_print * 15 / 25)
jerk_support_interface = =jerk_topbottom
jerk_topbottom = =math.ceil(jerk_print * 5 / 25)
jerk_wall = =math.ceil(jerk_print * 10 / 25)
jerk_wall_0 = =math.ceil(jerk_wall * 5 / 10)
multiple_mesh_overlap = 0
retraction_count_max = 12
retraction_extrusion_window = 1

View file

@ -29,15 +29,6 @@ cool_min_speed = 20
infill_overlap = 0
infill_pattern = ='zigzag' if infill_sparse_density > 80 else 'tetrahedral'
infill_wipe_dist = 0
jerk_enabled = True
jerk_layer_0 = =jerk_topbottom
jerk_prime_tower = =math.ceil(jerk_print * 15 / 25)
jerk_print = 25
jerk_support = =math.ceil(jerk_print * 15 / 25)
jerk_support_interface = =jerk_topbottom
jerk_topbottom = =math.ceil(jerk_print * 5 / 25)
jerk_wall = =math.ceil(jerk_print * 10 / 25)
jerk_wall_0 = =math.ceil(jerk_wall * 5 / 10)
multiple_mesh_overlap = 0
retraction_count_max = 12
retraction_extrusion_window = 1

View file

@ -29,15 +29,6 @@ cool_min_speed = 20
infill_overlap = 0
infill_pattern = ='zigzag' if infill_sparse_density > 80 else 'tetrahedral'
infill_wipe_dist = 0
jerk_enabled = True
jerk_layer_0 = =jerk_topbottom
jerk_prime_tower = =math.ceil(jerk_print * 15 / 25)
jerk_print = 25
jerk_support = =math.ceil(jerk_print * 15 / 25)
jerk_support_interface = =jerk_topbottom
jerk_topbottom = =math.ceil(jerk_print * 5 / 25)
jerk_wall = =math.ceil(jerk_print * 10 / 25)
jerk_wall_0 = =math.ceil(jerk_wall * 5 / 10)
multiple_mesh_overlap = 0
retraction_count_max = 12
retraction_extrusion_window = 1

View file

@ -29,15 +29,6 @@ cool_min_speed = 20
infill_overlap = 0
infill_pattern = ='zigzag' if infill_sparse_density > 80 else 'tetrahedral'
infill_wipe_dist = 0
jerk_enabled = True
jerk_layer_0 = =jerk_topbottom
jerk_prime_tower = =math.ceil(jerk_print * 15 / 25)
jerk_print = 25
jerk_support = =math.ceil(jerk_print * 15 / 25)
jerk_support_interface = =jerk_topbottom
jerk_topbottom = =math.ceil(jerk_print * 5 / 25)
jerk_wall = =math.ceil(jerk_print * 10 / 25)
jerk_wall_0 = =math.ceil(jerk_wall * 5 / 10)
multiple_mesh_overlap = 0
retraction_count_max = 12
retraction_extrusion_window = 1

View file

@ -29,15 +29,6 @@ cool_min_speed = 20
infill_overlap = 0
infill_pattern = ='zigzag' if infill_sparse_density > 80 else 'tetrahedral'
infill_wipe_dist = 0
jerk_enabled = True
jerk_layer_0 = =jerk_topbottom
jerk_prime_tower = =math.ceil(jerk_print * 15 / 25)
jerk_print = 25
jerk_support = =math.ceil(jerk_print * 15 / 25)
jerk_support_interface = =jerk_topbottom
jerk_topbottom = =math.ceil(jerk_print * 5 / 25)
jerk_wall = =math.ceil(jerk_print * 10 / 25)
jerk_wall_0 = =math.ceil(jerk_wall * 5 / 10)
multiple_mesh_overlap = 0
retraction_count_max = 12
retraction_extrusion_window = 1

View file

@ -21,7 +21,6 @@ cool_min_layer_time_fan_speed_max = 5
cool_min_speed = 5
infill_pattern = ='zigzag' if infill_sparse_density > 80 else 'triangles'
infill_wipe_dist = 0.1
jerk_enabled = True
jerk_print = 25
machine_min_cool_heat_time_window = 15
multiple_mesh_overlap = 0

View file

@ -17,7 +17,6 @@ cool_min_speed = 5
infill_overlap = 0
infill_pattern = ='zigzag' if infill_sparse_density > 80 else 'triangles'
infill_wipe_dist = 0
jerk_enabled = True
jerk_print = 25
layer_height = 0.2
machine_min_cool_heat_time_window = 15

View file

@ -17,7 +17,6 @@ cool_min_speed = 6
infill_overlap = 0
infill_pattern = ='zigzag' if infill_sparse_density > 80 else 'triangles'
infill_wipe_dist = 0
jerk_enabled = True
jerk_print = 25
layer_height = 0.15
machine_min_cool_heat_time_window = 15

View file

@ -17,7 +17,6 @@ cool_min_speed = 5
infill_overlap = 0
infill_pattern = ='zigzag' if infill_sparse_density > 80 else 'triangles'
infill_wipe_dist = 0
jerk_enabled = True
jerk_print = 25
layer_height = 0.06
machine_min_cool_heat_time_window = 15

View file

@ -17,7 +17,6 @@ cool_min_speed = 7
infill_overlap = 0
infill_pattern = ='zigzag' if infill_sparse_density > 80 else 'triangles'
infill_wipe_dist = 0
jerk_enabled = True
jerk_print = 25
machine_min_cool_heat_time_window = 15
machine_nozzle_cool_down_speed = 0.85

View file

@ -23,7 +23,6 @@ infill_overlap = 0
infill_overlap_mm = =0 if infill_sparse_density > 80 else 0.05
infill_pattern = ='zigzag' if infill_sparse_density > 80 else 'triangles'
infill_wipe_dist = 0.1
jerk_enabled = True
jerk_print = 25
layer_height = 0.2
machine_min_cool_heat_time_window = 15

View file

@ -21,7 +21,6 @@ cool_min_speed = 7
infill_overlap_mm = =0 if infill_sparse_density > 80 else 0.05
infill_pattern = ='zigzag' if infill_sparse_density > 80 else 'triangles'
infill_wipe_dist = 0.1
jerk_enabled = True
jerk_print = 25
layer_height = 0.15
machine_min_cool_heat_time_window = 15

View file

@ -23,7 +23,6 @@ infill_overlap = 0
infill_overlap_mm = =0 if infill_sparse_density > 80 else 0.05
infill_pattern = ='zigzag' if infill_sparse_density > 80 else 'triangles'
infill_wipe_dist = 0.1
jerk_enabled = True
jerk_print = 25
layer_height = 0.06
machine_min_cool_heat_time_window = 15

View file

@ -22,7 +22,6 @@ cool_min_speed = 5
infill_overlap = 0
infill_pattern = ='zigzag' if infill_sparse_density > 80 else 'triangles'
infill_wipe_dist = 0.1
jerk_enabled = True
jerk_print = 25
machine_min_cool_heat_time_window = 15
machine_nozzle_cool_down_speed = 0.85

View file

@ -21,7 +21,6 @@ cool_min_speed = 2.5
infill_overlap = 0
infill_pattern = ='zigzag' if infill_sparse_density > 80 else 'tetrahedral'
infill_wipe_dist = 0.1
jerk_enabled = True
jerk_print = 25
machine_min_cool_heat_time_window = 15
machine_nozzle_cool_down_speed = 0.85

View file

@ -16,7 +16,6 @@ cool_fan_full_at_height = =layer_height_0 + 2 * layer_height
cool_fan_speed_max = =cool_fan_speed
cool_min_speed = 7
jerk_print = 25
jerk_roofing = 1
layer_height_0 = 0.2
machine_nozzle_cool_down_speed = 0.75
machine_nozzle_heat_up_speed = 1.6

View file

@ -22,7 +22,6 @@ infill_overlap = 0
infill_pattern = ='zigzag' if infill_sparse_density > 80 else 'cross_3d'
infill_sparse_density = 10
infill_wipe_dist = 0.1
jerk_enabled = True
jerk_print = 25
layer_height = 0.2
machine_min_cool_heat_time_window = 15

View file

@ -22,7 +22,6 @@ infill_overlap = 0
infill_pattern = ='zigzag' if infill_sparse_density > 80 else 'cross_3d'
infill_sparse_density = 10
infill_wipe_dist = 0.1
jerk_enabled = True
jerk_print = 25
layer_height = 0.15
machine_min_cool_heat_time_window = 15

View file

@ -22,7 +22,6 @@ infill_overlap = 0
infill_pattern = ='zigzag' if infill_sparse_density > 80 else 'cross_3d'
infill_sparse_density = 10
infill_wipe_dist = 0.1
jerk_enabled = True
jerk_print = 25
machine_min_cool_heat_time_window = 15
machine_nozzle_cool_down_speed = 0.5

View file

@ -19,7 +19,6 @@ cool_min_layer_time_fan_speed_max = 5
cool_min_speed = 2.5
infill_pattern = ='zigzag' if infill_sparse_density > 80 else 'tetrahedral'
infill_wipe_dist = 0.1
jerk_enabled = True
jerk_print = 25
machine_min_cool_heat_time_window = 15
material_bed_temperature_layer_0 = =material_bed_temperature + 5

View file

@ -17,7 +17,6 @@ cool_min_speed = 5
infill_overlap = 0
infill_wipe_dist = 0
jerk_enabled = True
jerk_print = 25
machine_min_cool_heat_time_window = 15
material_final_print_temperature = =material_print_temperature - 10

View file

@ -17,7 +17,6 @@ cool_min_speed = 5
infill_overlap = 0
infill_wipe_dist = 0
jerk_enabled = True
jerk_print = 25
machine_min_cool_heat_time_window = 15
machine_nozzle_cool_down_speed = 0.85

View file

@ -17,7 +17,6 @@ cool_min_speed = 7
infill_overlap = 0
infill_wipe_dist = 0
jerk_enabled = True
jerk_print = 25
machine_min_cool_heat_time_window = 15
machine_nozzle_cool_down_speed = 0.85

View file

@ -21,7 +21,6 @@ cool_min_speed = 7
infill_overlap_mm = =0 if infill_sparse_density > 80 else 0.05
infill_pattern = ='zigzag' if infill_sparse_density > 80 else 'triangles'
infill_wipe_dist = 0.1
jerk_enabled = True
jerk_print = 25
machine_min_cool_heat_time_window = 15
machine_nozzle_cool_down_speed = 0.85

View file

@ -21,7 +21,6 @@ cool_min_speed = 2.5
infill_overlap = 0
infill_pattern = ='zigzag' if infill_sparse_density > 80 else 'tetrahedral'
infill_wipe_dist = 0.1
jerk_enabled = True
jerk_print = 25
machine_min_cool_heat_time_window = 15
machine_nozzle_cool_down_speed = 0.85

View file

@ -20,7 +20,6 @@ cool_min_speed = 2.5
infill_overlap = 0
infill_pattern = ='zigzag' if infill_sparse_density > 80 else 'tetrahedral'
infill_wipe_dist = 0.1
jerk_enabled = True
jerk_print = 25
machine_min_cool_heat_time_window = 15
machine_nozzle_cool_down_speed = 0.85

View file

@ -21,7 +21,6 @@ cool_min_speed = 2.5
infill_overlap = 0
infill_pattern = ='zigzag' if infill_sparse_density > 80 else 'tetrahedral'
infill_wipe_dist = 0.1
jerk_enabled = True
jerk_print = 25
machine_min_cool_heat_time_window = 15

View file

@ -16,7 +16,6 @@ cool_fan_full_at_height = =layer_height_0 + 2 * layer_height
cool_fan_speed_max = =cool_fan_speed
cool_min_speed = 7
jerk_print = 25
jerk_roofing = 1
layer_height_0 = 0.2
machine_nozzle_cool_down_speed = 0.75
machine_nozzle_heat_up_speed = 1.6

View file

@ -22,9 +22,7 @@ infill_overlap = 0
infill_pattern = ='zigzag' if infill_sparse_density > 80 else 'cross_3d'
infill_sparse_density = 10
infill_wipe_dist = 0.1
jerk_enabled = True
jerk_print = 25
machine_min_cool_heat_time_window = 15
machine_nozzle_cool_down_speed = 0.5
machine_nozzle_heat_up_speed = 2.5

View file

@ -22,7 +22,6 @@ infill_overlap = 0
infill_pattern = ='zigzag' if infill_sparse_density > 80 else 'cross_3d'
infill_sparse_density = 10
infill_wipe_dist = 0.1
jerk_enabled = True
jerk_print = 25
machine_min_cool_heat_time_window = 15

View file

@ -21,7 +21,6 @@ cool_min_layer_time_fan_speed_max = 5
cool_min_speed = 5
infill_pattern = ='zigzag' if infill_sparse_density > 80 else 'triangles'
infill_wipe_dist = 0.1
jerk_enabled = True
jerk_print = 25
machine_min_cool_heat_time_window = 15
multiple_mesh_overlap = 0

View file

@ -19,7 +19,6 @@ cool_min_layer_time_fan_speed_max = 5
cool_min_speed = 2.5
infill_pattern = ='zigzag' if infill_sparse_density > 80 else 'tetrahedral'
infill_wipe_dist = 0.1
jerk_enabled = True
jerk_print = 25
machine_min_cool_heat_time_window = 15
material_bed_temperature_layer_0 = =material_bed_temperature + 5

View file

@ -17,7 +17,6 @@ cool_min_speed = 5
infill_overlap = 0
infill_wipe_dist = 0
jerk_enabled = True
jerk_print = 25
machine_min_cool_heat_time_window = 15
material_final_print_temperature = =material_print_temperature - 10

View file

@ -17,7 +17,6 @@ cool_min_speed = 6
infill_overlap = 0
infill_wipe_dist = 0
jerk_enabled = True
jerk_print = 25
machine_min_cool_heat_time_window = 15
material_final_print_temperature = =material_print_temperature - 10

View file

@ -17,7 +17,6 @@ cool_min_speed = 5
infill_overlap = 0
infill_wipe_dist = 0
jerk_enabled = True
jerk_print = 25
machine_min_cool_heat_time_window = 15
machine_nozzle_cool_down_speed = 0.85

View file

@ -16,7 +16,6 @@ cool_fan_speed_max = 50
cool_min_speed = 7
infill_overlap = 0
infill_wipe_dist = 0
jerk_enabled = True
jerk_print = 25
machine_min_cool_heat_time_window = 15
machine_nozzle_cool_down_speed = 0.85

View file

@ -22,7 +22,6 @@ infill_overlap = 0
infill_overlap_mm = =0 if infill_sparse_density > 80 else 0.05
infill_pattern = ='zigzag' if infill_sparse_density > 80 else 'triangles'
infill_wipe_dist = 0.1
jerk_enabled = True
jerk_print = 25
machine_min_cool_heat_time_window = 15
machine_nozzle_cool_down_speed = 0.85

View file

@ -21,7 +21,6 @@ cool_min_speed = 7
infill_overlap_mm = =0 if infill_sparse_density > 80 else 0.05
infill_pattern = ='zigzag' if infill_sparse_density > 80 else 'triangles'
infill_wipe_dist = 0.1
jerk_enabled = True
jerk_print = 25
machine_min_cool_heat_time_window = 15
machine_nozzle_cool_down_speed = 0.85

View file

@ -23,7 +23,6 @@ infill_overlap = 0
infill_overlap_mm = =0 if infill_sparse_density > 80 else 0.05
infill_pattern = ='zigzag' if infill_sparse_density > 80 else 'triangles'
infill_wipe_dist = 0.1
jerk_enabled = True
jerk_print = 25
machine_min_cool_heat_time_window = 15
machine_nozzle_cool_down_speed = 0.85

View file

@ -22,7 +22,6 @@ cool_min_speed = 5
infill_overlap = 0
infill_pattern = ='zigzag' if infill_sparse_density > 80 else 'triangles'
infill_wipe_dist = 0.1
jerk_enabled = True
jerk_print = 25
machine_min_cool_heat_time_window = 15
machine_nozzle_cool_down_speed = 0.85

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