Merge branch 'TIme-Lapse' of https://github.com/GregValiant/Cura into TIme-Lapse

This commit is contained in:
GregValiant 2024-05-14 08:39:46 -04:00
commit 35775ce3c8
152 changed files with 17737 additions and 127 deletions

View File

@ -0,0 +1,40 @@
name: conan-package-resources
on:
push:
paths:
- '.github/workflows/conan-package-resources.yml'
- 'resources/definitions/**'
- 'resources/extruders/**'
- 'resources/images/**'
- 'resources/intent/**'
- 'resources/meshes/**'
- 'resources/quality/**'
- 'resources/variants/**'
- 'resources/conanfile.py'
branches:
- 'main'
- 'CURA-*'
- 'PP-*'
- 'NP-*'
- '[0-9].[0-9]*'
- '[0-9].[0-9][0-9]*'
env:
CONAN_LOGIN_USERNAME_CURA: ${{ secrets.CONAN_USER }}
CONAN_PASSWORD_CURA: ${{ secrets.CONAN_PASS }}
jobs:
conan-recipe-version:
uses: ultimaker/cura-workflows/.github/workflows/conan-recipe-version.yml@main
with:
project_name: cura_resources
conan-package-export:
needs: [ conan-recipe-version ]
uses: ultimaker/cura-workflows/.github/workflows/conan-recipe-export.yml@main
with:
recipe_id_full: ${{ needs.conan-recipe-version.outputs.recipe_id_full }}
recipe_id_latest: ${{ needs.conan-recipe-version.outputs.recipe_id_latest }}
conan_recipe_root: "./resources/"
secrets: inherit

View File

@ -4,12 +4,20 @@ on:
push:
paths:
- 'plugins/**'
- 'resources/**'
- 'cura/**'
- 'resources/bundled_packages/**'
- 'resources/i18n/**'
- 'resources/qml/**'
- 'resources/setting_visibility/**'
- 'resources/shaders/**'
- 'resources/texts/**'
- 'resources/themes/**'
- 'resources/public_key.pem'
- 'resources/README_resources.txt'
- 'icons/**'
- 'tests/**'
- 'packaging/**'
- '.github/workflows/conan-*.yml'
- '.github/workflows/conan-package.yml'
- '.github/workflows/notify.yml'
- '.github/workflows/requirements-runner.txt'
- 'requirements*.txt'
@ -20,6 +28,7 @@ on:
- 'main'
- 'CURA-*'
- 'PP-*'
- 'NP-*'
- '[0-9].[0-9]*'
- '[0-9].[0-9][0-9]*'

View File

@ -18,6 +18,7 @@ jobs:
- uses: technote-space/get-diff-action@v6
with:
DIFF_FILTER: AMRCD
PATTERNS: |
resources/+(extruders|definitions)/*.def.json
resources/+(intent|quality|variants)/**/*.inst.cfg
@ -41,6 +42,10 @@ jobs:
if: env.GIT_DIFF && !env.MATCHED_FILES
run: python printer-linter/src/terminal.py --diagnose --report printer-linter-result/fixes.yml ${{ env.GIT_DIFF_FILTERED }}
- name: Check Deleted Files(s)
if: env.GIT_DIFF
run: python printer-linter/src/terminal.py --deleted --report printer-linter-result/comment.md ${{ env.GIT_DIFF_FILTERED }}
- name: Save PR metadata
run: |
echo ${{ github.event.number }} > printer-linter-result/pr-id.txt

View File

@ -39,6 +39,11 @@ jobs:
echo "pr_id=$(cat printer-linter-result/pr-id.txt)" >> $GITHUB_ENV
echo "pr_head_repo=$(cat printer-linter-result/pr-head-repo.txt)" >> $GITHUB_ENV
echo "pr_head_ref=$(cat printer-linter-result/pr-head-ref.txt)" >> $GITHUB_ENV
if [[ -f "printer-linter-result/comment.md" ]]; then
echo "commentFileExists=true" >> $GITHUB_ENV
else
echo "commentFileExists=false" >> $GITHUB_ENV
fi
- uses: actions/checkout@v3
with:
@ -72,6 +77,13 @@ jobs:
mkdir printer-linter-result
unzip printer-linter-result.zip -d printer-linter-result
- name: Run PR Comments
if: env.commentFileExists == 'true'
uses: peter-evans/create-or-update-comment@v4
with:
issue-number: ${{ env.pr_id }}
body-path: 'printer-linter-result/comment.md'
- name: Run clang-tidy-pr-comments action
uses: platisd/clang-tidy-pr-comments@bc0bb7da034a8317d54e7fe1e819159002f4cc40
with:

View File

@ -3,6 +3,10 @@ checks:
diagnostic-mesh-file-size: true
diagnostic-definition-redundant-override: true
diagnostic-resources-macos-app-directory-name: true
diagnostic-incorrect-formula: true
diagnostic-resource-file-deleted: true
diagnostic-material-temperature-defined: true
diagnostic-long-profile-names: true
fixes:
diagnostic-definition-redundant-override: true
format:

View File

@ -1,5 +1,6 @@
version: "5.8.0-alpha.0"
requirements:
- "cura_resources/(latest)@ultimaker/testing"
- "uranium/(latest)@ultimaker/testing"
- "curaengine/(latest)@ultimaker/testing"
- "cura_binary_data/(latest)@ultimaker/testing"
@ -54,6 +55,10 @@ pyinstaller:
package: "cura"
src: "resources"
dst: "share/cura/resources"
cura_shared_resources:
package: "cura_resources"
src: "res"
dst: "share/cura/resources"
cura_private_data:
package: "cura_private_data"
src: "res"

View File

@ -468,6 +468,12 @@ class CuraConan(ConanFile):
copy(self, "*", os.path.join(self.package_folder, self.cpp_info.resdirs[0]), str(self._share_dir.joinpath("cura", "resources")), keep_path = True)
copy(self, "*", os.path.join(self.package_folder, self.cpp_info.resdirs[1]), str(self._share_dir.joinpath("cura", "plugins")), keep_path = True)
# Copy the cura_resources resources from the package
rm(self, "conanfile.py", os.path.join(self.package_folder, self.cpp.package.resdirs[0]))
cura_resources = self.dependencies["cura_resources"].cpp_info
for res_dir in cura_resources.resdirs:
copy(self, "*", res_dir, str(self._share_dir.joinpath("cura", "resources", Path(res_dir).name)), keep_path = True)
# Copy resources of Uranium (keep folder structure)
uranium = self.dependencies["uranium"].cpp_info
copy(self, "*", uranium.resdirs[0], str(self._share_dir.joinpath("uranium", "resources")), keep_path = True)
@ -519,6 +525,12 @@ echo "CURA_APP_NAME={{ cura_app_name }}" >> ${{ env_prefix }}GITHUB_ENV
# Remove the fdm_materials from the package
rmdir(self, os.path.join(self.package_folder, self.cpp.package.resdirs[0], "materials"))
# Remove the cura_resources resources from the package
rm(self, "conanfile.py", os.path.join(self.package_folder, self.cpp.package.resdirs[0]))
cura_resources = self.dependencies["cura_resources"].cpp_info
for res_dir in cura_resources.resdirs:
rmdir(self, os.path.join(self.package_folder, self.cpp.package.resdirs[0], Path(res_dir).name))
def package_info(self):
self.user_info.pip_requirements = "requirements.txt"
self.user_info.pip_requirements_git = "requirements-ultimaker.txt"

View File

@ -54,10 +54,7 @@ class ActiveIntentQualitiesModel(ListModel):
self._updateDelayed()
def _update(self):
active_extruder_stack = cura.CuraApplication.CuraApplication.getInstance().getMachineManager().activeStack
if active_extruder_stack:
self._intent_category = active_extruder_stack.intent.getMetaDataEntry("intent_category", "")
self._intent_category = IntentManager.getInstance().currentIntentCategory
new_items: List[Dict[str, Any]] = []
global_stack = cura.CuraApplication.CuraApplication.getInstance().getGlobalContainerStack()
if not global_stack:

View File

@ -145,10 +145,24 @@ class IntentManager(QObject):
@pyqtProperty(str, notify = intentCategoryChanged)
def currentIntentCategory(self) -> str:
application = cura.CuraApplication.CuraApplication.getInstance()
active_extruder_stack = application.getMachineManager().activeStack
if active_extruder_stack is None:
return ""
return active_extruder_stack.intent.getMetaDataEntry("intent_category", "")
global_stack = application.getGlobalContainerStack()
active_intent = "default"
if global_stack is None:
return active_intent
# Loop over all active extruders and check if they have an intent that isn't default.
# The logic behind this is that support materials (for instance, PVA) don't have intents, but they should be
# combinable with all other intents. So if one extruder has "engineering" as an intent and the other has
# "default" the 'dominant' intent is "engineering"
for extruder_stack in global_stack.extruderList:
if not extruder_stack.isEnabled: # Ignore disabled stacks
continue
extruder_intent = extruder_stack.intent.getMetaDataEntry("intent_category", "")
if extruder_intent != "default":
active_intent = extruder_intent
return active_intent
@pyqtSlot(str, str)
def selectIntent(self, intent_category: str, quality_type: str) -> None:

View File

@ -847,6 +847,24 @@ class MachineManager(QObject):
return result
@pyqtProperty(bool, notify = currentConfigurationChanged)
def variantCoreUsableForFactor4(self) -> bool:
"""The selected core is usable if it is in second extruder of Factor4
"""
result = True
if not self._global_container_stack:
return result
if self.activeMachine.definition.id != "ultimaker_factor4":
return result
for extruder_container in self._global_container_stack.extruderList:
if extruder_container.definition.id.startswith("ultimaker_factor4_extruder_right"):
if extruder_container.material == empty_material_container:
return True
if extruder_container.variant.id.startswith("ultimaker_factor4_bb"):
return False
return True
@pyqtSlot(str, result = str)
def getDefinitionByMachineId(self, machine_id: str) -> Optional[str]:
"""Get the Definition ID of a machine (specified by ID)

View File

@ -26,27 +26,40 @@ class InsertAtLayerChange(Script):
},
"gcode_to_add":
{
"label": "G-code to insert.",
"label": "G-code to insert",
"description": "G-code to add before or after layer change.",
"type": "str",
"default_value": ""
},
"skip_layers":
{
"label": "Skip layers",
"description": "Number of layers to skip between insertions (0 for every layer).",
"type": "int",
"default_value": 0,
"minimum_value": 0
}
}
}"""
def execute(self, data):
gcode_to_add = self.getSettingValueByKey("gcode_to_add") + "\n"
skip_layers = self.getSettingValueByKey("skip_layers")
count = 0
for layer in data:
# Check that a layer is being printed
lines = layer.split("\n")
for line in lines:
if ";LAYER:" in line:
index = data.index(layer)
if self.getSettingValueByKey("insert_location") == "before":
layer = gcode_to_add + layer
else:
layer = layer + gcode_to_add
if count == 0:
if self.getSettingValueByKey("insert_location") == "before":
layer = gcode_to_add + layer
else:
layer = layer + gcode_to_add
data[index] = layer
data[index] = layer
count = (count + 1) % (skip_layers + 1)
break
return data

View File

@ -356,7 +356,10 @@ geometry41core =
EndPrimitive();
}
if ((u_show_starts == 1) && (v_prev_line_type[0] != 1) && (v_line_type[0] == 1)) {
if ((u_show_starts == 1) && (
((v_prev_line_type[0] != 1) && (v_line_type[0] == 1)) ||
((v_prev_line_type[0] != 4) && (v_line_type[0] == 4))
)) {
float w = size_x;
float h = size_y;

Binary file not shown.

After

Width:  |  Height:  |  Size: 874 KiB

View File

@ -1,5 +1,6 @@
{
"ultimaker_method": "MakerBot Method",
"ultimaker_methodx": "MakerBot Method X",
"ultimaker_methodxl": "MakerBot Method XL"
"ultimaker_methodxl": "MakerBot Method XL",
"ultimaker_factor4": "Ultimaker Factor 4"
}

View File

@ -6,6 +6,7 @@
"Ultimaker #+": "ultimaker#_plus",
"Ultimaker #+ Connect": "ultimaker#_plus_connect",
"Ultimaker S#": "ultimaker_s#",
"Ultimaker Factor #": "ultimaker_factor#",
"Ultimaker Original": "ultimaker_original",
"Ultimaker Original+": "ultimaker_original_plus",
"Ultimaker Original Dual Extrusion": "ultimaker_original_dual",

View File

@ -1,7 +1,7 @@
[project]
name = "printerlinter"
description = "Cura UltiMaker printer linting tool"
version = "0.1.1"
version = "0.1.2"
authors = [
{ name = "UltiMaker", email = "cura@ultimaker.com" }
]

View File

@ -32,3 +32,13 @@ class Diagnostic:
},
"Level": self.level
}
class GitComment:
def __init__(self, comment: str) -> None:
"""
@param comment: The comment text.
"""
self.comment = comment
def toDict(self) -> Dict[str, Any]:
return self.comment

View File

@ -6,20 +6,21 @@ from .linters.defintion import Definition
from .linters.linter import Linter
from .linters.meshes import Meshes
from .linters.directory import Directory
from .linters.formulas import Formulas
def getLinter(file: Path, settings: dict) -> Optional[List[Linter]]:
""" Returns a Linter depending on the file format """
if not file.exists():
return None
return [Directory(file, settings)]
if ".inst" in file.suffixes and ".cfg" in file.suffixes:
return [Directory(file, settings), Profile(file, settings)]
return [Directory(file, settings), Profile(file, settings), Formulas(file, settings)]
if ".def" in file.suffixes and ".json" in file.suffixes:
if file.stem in ("fdmprinter.def", "fdmextruder.def"):
return None
return [Directory(file, settings), Definition(file, settings)]
return [Formulas(file, settings)]
return [Directory(file, settings), Definition(file, settings), Formulas(file, settings)]
if file.parent.stem == "meshes":
return [Meshes(file, settings)]

View File

@ -28,6 +28,10 @@ class Definition(Linter):
for check in self.checkRedefineOverride():
yield check
if self._settings["checks"].get("diagnostic-material-temperature-defined", False):
for check in self.checkMaterialTemperature():
yield check
# Add other which will yield Diagnostic's
# TODO: A check to determine if the user set value is with the min and max value defined in the parent and doesn't trigger a warning
# TODO: A check if the key exist in the first place
@ -41,7 +45,7 @@ class Definition(Linter):
definition = self._definitions[definition_name]
if "overrides" in definition and definition_name not in ("fdmprinter", "fdmextruder"):
for key, value_dict in definition["overrides"].items():
is_redefined, child_key, child_value, parent = self._isDefinedInParent(key, value_dict, definition['inherits'])
is_redefined, child_key, child_value, parent, inherited_by= self._isDefinedInParent(key, value_dict, definition['inherits'])
if is_redefined:
redefined = re.compile(r'.*(\"' + key + r'\"[\s\:\S]*?)\{[\s\S]*?\},?')
found = redefined.search(self._content)
@ -59,12 +63,40 @@ class Definition(Linter):
yield Diagnostic(
file = self._file,
diagnostic_name = "diagnostic-definition-redundant-override",
message = f"Overriding {key} with the same value ({child_key}: {child_value}) as defined in parent definition: {definition['inherits']}",
message = f"Overriding {key} with the same value ({child_key}: {child_value}) as defined in parent definition: {inherited_by}",
level = "Warning",
offset = found.span(0)[0],
replacements = replacements
)
def checkMaterialTemperature(self) -> Iterator[Diagnostic]:
"""Checks if definition file has material tremperature defined within them"""
definition_name = list(self._definitions.keys())[0]
definition = self._definitions[definition_name]
if "overrides" in definition and definition_name not in ("fdmprinter", "fdmextruder"):
for key, value_dict in definition["overrides"].items():
if "temperature" in key and "material" in key:
redefined = re.compile(r'.*(\"' + key + r'\"[\s\:\S]*?)\{[\s\S]*?\},?')
found = redefined.search(self._content)
if len(found.group().splitlines()) > 1:
replacements = []
else:
replacements = [Replacement(
file=self._file,
offset=found.span(1)[0],
length=len(found.group()),
replacement_text="")]
yield Diagnostic(
file=self._file,
diagnostic_name="diagnostic-material-temperature-defined",
message=f"Overriding {key} as it belongs to material temperature catagory and shouldn't be placed in machine definitions",
level="Warning",
offset=found.span(0)[0],
replacements=replacements
)
def _loadDefinitionFiles(self, definition_file) -> None:
""" Loads definition file contents into self._definitions. Also load parent definition if it exists. """
definition_name = Path(definition_file.stem).stem
@ -85,7 +117,7 @@ class Definition(Linter):
def _isDefinedInParent(self, key, value_dict, inherits_from):
if self._ignore(key, "diagnostic-definition-redundant-override"):
return False, None, None, None
return False, None, None, None, None
if "overrides" not in self._definitions[inherits_from]:
return self._isDefinedInParent(key, value_dict, self._definitions[inherits_from]["inherits"])
@ -114,11 +146,11 @@ class Definition(Linter):
v = child_value
cv = check_value
if v == cv:
return True, child_key, child_value, parent
return True, child_key, child_value, parent, inherits_from
if "inherits" in parent:
return self._isDefinedInParent(key, value_dict, parent["inherits"])
return False, None, None, None
return False, None, None, None, None
def _loadBasePrinterSettings(self):
settings = {}

View File

@ -1,7 +1,7 @@
from pathlib import Path
from typing import Iterator
from ..diagnostic import Diagnostic
from ..diagnostic import Diagnostic, GitComment
from .linter import Linter
@ -11,9 +11,12 @@ class Directory(Linter):
super().__init__(file, settings)
def check(self) -> Iterator[Diagnostic]:
if self._settings["checks"].get("diagnostic-resources-macos-app-directory-name", False):
if self._file.exists() and self._settings["checks"].get("diagnostic-resources-macos-app-directory-name", False):
for check in self.checkForDotInDirName():
yield check
elif self._settings["checks"].get("diagnostic-resource-file-deleted", False):
for check in self.checkFilesDeleted():
yield check
yield
@ -29,3 +32,8 @@ class Directory(Linter):
)
yield
def checkFilesDeleted(self) -> Iterator[GitComment]:
if not self._file.exists():
""" Check if there is a file that is deleted, this causes upgrade scripts to not work properly """
yield GitComment( f'File: **{self._file}** must not be deleted as it is not allowed. It will create issues upgrading Cura' )
yield

View File

@ -0,0 +1,177 @@
import difflib
import json
import os
import re
from configparser import ConfigParser
from pathlib import Path
from typing import Iterator
from ..diagnostic import Diagnostic
from ..replacement import Replacement
from .linter import Linter
FORMULA_NAMES = [
"extruderValue",
"extruderValues",
"anyExtruderWithMaterial",
"anyExtruderNrWithOrDefault",
"resolveOrValue",
"defaultExtruderPosition",
"valueFromContainer",
"extruderValueFromContainer",
"math",
"round",
"max",
"ceil",
"min",
"sqrt",
"log",
"tan",
"cos",
"sin",
"atan",
"acos",
"asin",
"floor",
"sum",
"len",
"radians",
"degrees"
]
DELIMITERS = [r'\+', '-', '=', '/', '\*', r'\(', r'\)', r'\[', r'\]', '{', '}', ' ', '^']
class Formulas(Linter):
"""Finds Typos in the definition files and their formulas."""
def __init__(self, file: Path, settings: dict) -> None:
super().__init__(file, settings)
self._cura_correction_strings = FORMULA_NAMES + list(self.getCuraSettingList())
self._definition = {}
def getCuraSettingList(self) -> list:
with open(os.path.join(os.path.dirname(__file__), "..", "..", "..", "..", "resources", "definitions", "fdmprinter.def.json")) as data:
json_data = json.load(data)
return self.extractKeys(json_data)
def extractKeys(self, json_obj, parent_key=''):
keys_with_value = []
for key, values in json_obj.items():
new_key = key
if isinstance(values, dict):
if 'label' in values:
keys_with_value.append(new_key)
keys_with_value.extend(self.extractKeys(values, new_key))
return keys_with_value
def check(self) -> Iterator[Diagnostic]:
if self._settings["checks"].get("diagnostic-incorrect-formula", False):
for check in self.checkFormulas():
yield check
yield
def checkFormulas(self) -> Iterator[Diagnostic]:
self._loadDefinitionFiles(self._file)
self._content = self._file.read_text()
definition_name = list(self._definition.keys())[0]
definition = self._definition[definition_name]
if "overrides" in definition:
for key, value_dict in definition["overrides"].items():
for value in value_dict:
if value in ("enable", "resolve", "value", "minimum_value_warning", "maximum_value_warning",
"maximum_value", "minimum_value"):
key_incorrect = self.checkValueIncorrect(key)
if key_incorrect:
found = self._appendCorrections(key, key)
value_incorrect = self.checkValueIncorrect(value_dict[value])
if value_incorrect:
found = self._appendCorrections(key, value_dict[value])
if key_incorrect or value_incorrect:
if len(found.group().splitlines()) > 1:
replacements = []
else:
replacements = [Replacement(
file=self._file,
offset=found.span(1)[0],
length=len(found.group()),
replacement_text=self._replacement_text)]
yield Diagnostic(
file=self._file,
diagnostic_name="diagnostic-incorrect-formula",
message=f"Given formula {found.group()} seems incorrect, Do you mean {self._correct_formula}? please correct the formula and try again.",
level="Error",
offset=found.span(0)[0],
replacements=replacements
)
yield
def _appendCorrections(self, key, incorrectString):
if self._file.suffix == '.cfg':
key_with_incorrectValue = re.compile(r'(\b' + key + r'\b\s*=\s*[^=\n]+.*)')
else:
key_with_incorrectValue = re.compile(r'.*(\"' + key + r'\"[\s\:\S]*?)\{[\s\S]*?\},?')
found = key_with_incorrectValue.search(self._content)
if len(found.group().splitlines()) > 1:
self._replacement_text = ''
else:
self._replacement_text = found.group().replace(incorrectString, self._correct_formula).strip(' ')
return found
def _loadDefinitionFiles(self, definition_file) -> None:
""" Loads definition file contents into self._definition. Also load parent definition if it exists. """
definition_name = Path(definition_file.stem).stem
if not definition_file.exists() or definition_name in self._definition:
return
if definition_file.suffix == ".json":
# Load definition file into dictionary
self._definition[definition_name] = json.loads(definition_file.read_text())
if definition_file.suffix == ".cfg":
self._definition[definition_name] = self._parseCfg(definition_file)
def _parseCfg(self, file_path:Path) -> dict:
config = ConfigParser()
config.read([file_path])
file_data ={}
overrides = {}
available_sections = ["values"]
for section in available_sections:
options = config.options(section)
for option in options:
values ={}
values["value"] = config.get(section, option)
overrides[option] = values
file_data["overrides"]= overrides# Process the value here
return file_data
def checkValueIncorrect(self, formula) -> bool:
if isinstance(formula, str):
self._correct_formula = self._correctTyposInFormula(formula)
return self._correct_formula != formula
else:
return False
def _correctTyposInFormula(self, formula):
pattern = '|'.join(DELIMITERS)
tokens = re.split(pattern, formula)
output = formula
for token in tokens:
if '(' not in token and ')' not in token:
cleaned_token = re.sub(r'[^\w\s]', '', token)
possible_matches = difflib.get_close_matches(cleaned_token, self._cura_correction_strings, n=1, cutoff=0.8)
if possible_matches:
output = output.replace(cleaned_token, possible_matches[0])
return output

View File

@ -1,9 +1,42 @@
from typing import Iterator
import re
from typing import Iterator, Tuple
from ..diagnostic import Diagnostic
from .linter import Linter
from pathlib import Path
from configparser import ConfigParser
class Profile(Linter):
MAX_SIZE_OF_NAME = 20
def __init__(self, file: Path, settings: dict) -> None:
""" Finds issues in the parent directory"""
super().__init__(file, settings)
self._content = self._file.read_text()
def check(self) -> Iterator[Diagnostic]:
yield
if self._file.exists() and self._settings["checks"].get("diagnostic-long-profile-names", False):
for check in self.checklengthofProfileName():
yield check
def checklengthofProfileName(self) -> Iterator[Diagnostic]:
""" check the name of profile and where it is found"""
name_of_profile, found = self._getprofileName()
if len(name_of_profile) > Profile.MAX_SIZE_OF_NAME:
yield Diagnostic(
file=self._file,
diagnostic_name="diagnostic-long-profile-names",
message = f"The profile name **{name_of_profile}** exceeds the maximum length limit. For optimal results, please limit it to 20 characters or fewer.",
level="Warning",
offset = found.span(0)[0]
)
def _getprofileName(self) -> Tuple[str, bool]:
config = ConfigParser()
config.read([self._file])
name_of_profile = config.get("general", "name")
redefined = re.compile(name_of_profile)
found = redefined.search(self._content)
return name_of_profile, found

View File

@ -19,6 +19,7 @@ def main() -> None:
parser.add_argument("--report", required=False, type=Path, help="Path where the diagnostic report should be stored")
parser.add_argument("--format", action="store_true", help="Format the files")
parser.add_argument("--diagnose", action="store_true", help="Diagnose the files")
parser.add_argument("--deleted", action="store_true", help="Check for deleted files")
parser.add_argument("--fix", action="store_true", help="Attempt to apply the suggested fixes on the files")
parser.add_argument("Files", metavar="F", type=Path, nargs="+", help="Files or directories to format")
@ -41,12 +42,26 @@ def main() -> None:
settings = yaml.load(f, yaml.FullLoader)
full_body_check = {"Diagnostics": []}
comments_check = {"Error Files": []}
for file in files:
if not path.exists(file):
print(f"Can't find the file: {file}")
return
if args.deleted:
for file in args.Files:
if file not in files:
deletedFiles = diagnoseIssuesWithFile(file, settings)
comments_check["Error Files"].extend([d.toDict() for d in deletedFiles])
results = yaml.dump(comments_check, default_flow_style=False, indent=4, width=240)
if report:
report.write_text(results)
else:
print(results)
if to_fix or to_diagnose:
for file in files:
diagnostics = diagnoseIssuesWithFile(file, settings)
@ -82,7 +97,6 @@ def diagnoseIssuesWithFile(file: Path, settings: dict) -> List[Diagnostic]:
return linter_results
def applyFixesToFile(file, settings, full_body_check) -> None:
if not file.exists():
return

64
resources/conanfile.py Normal file
View File

@ -0,0 +1,64 @@
import os
from conan import ConanFile
from conan.tools.files import copy, update_conandata
from conan.tools.scm import Version
from conan.errors import ConanInvalidConfiguration
required_conan_version = ">=1.58.0 <2.0.0"
class CuraResource(ConanFile):
name = "cura_resources"
license = ""
author = "UltiMaker"
url = "https://github.com/Ultimaker/cura"
description = "Cura Resources"
topics = ("conan", "cura")
settings = "os", "compiler", "build_type", "arch"
no_copy_source = True
@property
def _shared_resources(self):
return ["definitions", "extruders", "images", "intent", "meshes", "quality", "variants"]
def set_version(self):
if not self.version:
self.version = self.conan_data["version"]
def export(self):
copy(self, pattern="conandata.yml", src=os.path.join(self.recipe_folder, ".."), dst=self.export_folder,
keep_path=False)
copy(self, pattern="LICENSE*", src=os.path.join(self.recipe_folder, ".."), dst=self.export_folder,
keep_path=False)
update_conandata(self, {"version": self.version})
def export_sources(self):
for shared_resources in self._shared_resources:
copy(self, pattern="*", src=os.path.join(self.recipe_folder, shared_resources),
dst=os.path.join(self.export_sources_folder, shared_resources))
def validate(self):
if Version(self.version) <= Version("4"):
raise ConanInvalidConfiguration("Only versions 5+ are support")
def layout(self):
self.cpp.source.resdirs = self._shared_resources
self.cpp.package.resdirs = [f"res/{res}" for res in self._shared_resources]
def package(self):
copy(self, "*", os.path.join(self.export_sources_folder),
os.path.join(self.package_folder, "res"))
def package_info(self):
self.cpp_info.includedirs = []
self.runenv_info.append_path("CURA_RESOURCES", os.path.join(self.package_folder, "res"))
self.runenv_info.append_path("CURA_ENGINE_SEARCH_PATH", os.path.join(self.package_folder, "res", "definitions"))
self.runenv_info.append_path("CURA_ENGINE_SEARCH_PATH", os.path.join(self.package_folder, "res", "extruders"))
self.env_info.CURA_RESOURCES.append(os.path.join(self.package_folder, "res"))
self.env_info.CURA_ENGINE_SEARCH_PATH.append(os.path.join(self.package_folder, "res", "definitions"))
self.env_info.CURA_ENGINE_SEARCH_PATH.append(os.path.join(self.package_folder, "res", "definitions"))
def package_id(self):
self.info.clear()

View File

@ -0,0 +1,246 @@
{
"version": 2,
"name": "AnkerMake M5C",
"inherits": "fdmprinter",
"metadata":
{
"visible": true,
"author": "just-trey",
"manufacturer": "AnkerMake",
"file_formats": "text/x-gcode",
"platform": "ankermake_m5c_platform.obj",
"has_machine_quality": true,
"machine_extruder_trains": { "0": "ankermake_m5c_extruder_0" },
"platform_texture": "ankermake_m5c.png",
"preferred_material": "generic_pla",
"preferred_quality_type": "normal"
},
"overrides":
{
"acceleration_enabled": { "value": true },
"acceleration_infill": { "value": 5000 },
"acceleration_layer_0": { "value": 2500 },
"acceleration_prime_tower": { "value": 5000 },
"acceleration_print": { "value": 5000 },
"acceleration_print_layer_0": { "value": 2500 },
"acceleration_roofing": { "value": 2500 },
"acceleration_skirt_brim": { "value": 2500 },
"acceleration_support": { "value": 5000 },
"acceleration_support_bottom": { "value": 5000 },
"acceleration_support_infill": { "value": 5000 },
"acceleration_support_interface": { "value": 5000 },
"acceleration_support_roof": { "value": 5000 },
"acceleration_topbottom": { "value": 2500 },
"acceleration_travel_layer_0": { "value": 2500 },
"acceleration_wall": { "value": 5000 },
"acceleration_wall_x": { "value": 5000 },
"adhesion_type": { "default_value": "skirt" },
"alternate_extra_perimeter": { "value": true },
"bottom_layers": { "value": 3 },
"bottom_skin_expand_distance": { "value": 0.84 },
"bottom_skin_preshrink": { "value": 0.84 },
"bottom_thickness": { "value": 0.8 },
"bridge_fan_speed_2": { "value": 100 },
"bridge_fan_speed_3": { "value": 100 },
"bridge_settings_enabled": { "value": true },
"bridge_skin_density_2": { "value": 80 },
"bridge_skin_material_flow": { "value": 100 },
"bridge_skin_material_flow_2": { "value": 80 },
"bridge_skin_speed": { "value": 20 },
"bridge_skin_speed_2": { "value": 50 },
"bridge_skin_speed_3": { "value": 50 },
"bridge_wall_material_flow": { "value": 100 },
"bridge_wall_speed": { "value": 20 },
"connect_infill_polygons": { "value": false },
"cool_fan_full_at_height": { "value": 0.14 },
"cool_min_layer_time": { "value": 6 },
"cool_min_speed": { "value": 30 },
"cross_infill_pocket_size": { "value": 8 },
"expand_skins_expand_distance": { "value": 0.84 },
"fill_outline_gaps": { "value": false },
"gantry_height": { "value": 25 },
"gradual_infill_step_height": { "value": 2 },
"infill_angles":
{
"value": [
90
]
},
"infill_extruder_nr": { "value": -1 },
"infill_line_distance": { "value": 8 },
"infill_material_flow": { "value": 90 },
"infill_pattern": { "value": "'lines' if infill_sparse_density >= 25 else 'grid'" },
"infill_sparse_density": { "value": 10 },
"infill_sparse_thickness": { "value": 0.25 },
"infill_wipe_dist": { "value": 0.1 },
"initial_bottom_layers": { "value": 3 },
"jerk_enabled": { "value": true },
"jerk_infill": { "value": 15 },
"jerk_layer_0": { "value": 15 },
"jerk_prime_tower": { "value": 15 },
"jerk_print": { "value": 15 },
"jerk_print_layer_0": { "value": 15 },
"jerk_roofing": { "value": 15 },
"jerk_skirt_brim": { "value": 15 },
"jerk_support": { "value": 15 },
"jerk_support_bottom": { "value": 15 },
"jerk_support_infill": { "value": 15 },
"jerk_support_interface": { "value": 15 },
"jerk_support_roof": { "value": 15 },
"jerk_topbottom": { "value": 15 },
"jerk_travel": { "value": 15 },
"jerk_travel_layer_0": { "value": 15 },
"jerk_wall": { "value": 15 },
"jerk_wall_0": { "value": 15 },
"jerk_wall_x": { "value": 15 },
"machine_buildplate_type": { "value": "glass" },
"machine_depth": { "value": 220 },
"machine_heated_bed": { "value": true },
"machine_height": { "value": 250 },
"machine_max_jerk_e": { "value": 5 },
"machine_max_jerk_xy": { "value": 30 },
"machine_max_jerk_z": { "value": 0.3 },
"machine_name": { "default_value": "AnkerMake M5" },
"machine_shape": { "value": "rectangular" },
"machine_show_variants": { "value": false },
"machine_start_gcode": { "default_value": "M104 S{material_print_temperature_layer_0} ; set final nozzle temp\nM190 S{material_bed_temperature_layer_0} ; set and wait for nozzle temp to stabilize\nM109 S{material_print_temperature_layer_0} ; wait for nozzle temp to stabilize\nG28 ;Home\nG1 E10 F3600; push out retracted filament(fix for over retraction after prime)" },
"machine_width": { "value": 220 },
"material_diameter": { "default_value": 1.75 },
"material_flow_layer_0": { "value": 120 },
"material_no_load_move_factor": { "value": 0.94 },
"minimum_interface_area": { "value": 10 },
"minimum_support_area": { "value": "2 if support_structure == 'normal' else 0" },
"retract_at_layer_change": { "value": true },
"retraction_amount": { "value": 0.8 },
"retraction_combing": { "value": "noskin" },
"retraction_combing_max_distance": { "value": 3 },
"retraction_extrusion_window": { "value": 0.8 },
"retraction_min_travel": { "value": 0.8 },
"retraction_prime_speed": { "value": 60 },
"retraction_retract_speed": { "value": 60 },
"retraction_speed": { "value": 60 },
"roofing_angles": { "value": [] },
"roofing_monotonic": { "value": false },
"roofing_pattern": { "value": "zigzag" },
"skin_material_flow": { "value": 97 },
"skin_monotonic": { "default_value": true },
"skirt_brim_speed":
{
"maximum_value_warning": "550",
"value": 50
},
"skirt_line_count": { "value": 3 },
"small_feature_max_length": { "value": 9.42 },
"small_hole_max_size": { "value": 3 },
"speed_infill":
{
"maximum_value_warning": "550",
"value": 270
},
"speed_layer_0":
{
"maximum_value_warning": "550",
"value": 50
},
"speed_prime_tower":
{
"maximum_value_warning": "550",
"value": 500
},
"speed_print":
{
"maximum_value_warning": "550",
"value": 500
},
"speed_print_layer_0":
{
"maximum_value_warning": "550",
"value": 50
},
"speed_roofing":
{
"maximum_value_warning": "550",
"value": 150
},
"speed_support":
{
"maximum_value_warning": "550",
"value": 250
},
"speed_support_bottom":
{
"maximum_value_warning": "550",
"value": 166.667
},
"speed_support_infill":
{
"maximum_value_warning": "550",
"value": 250
},
"speed_support_interface":
{
"maximum_value_warning": "550",
"value": 166.667
},
"speed_support_roof":
{
"maximum_value_warning": "550",
"value": 166.667
},
"speed_topbottom":
{
"maximum_value_warning": "550",
"value": 150
},
"speed_travel":
{
"maximum_value_warning": "550",
"value": 500
},
"speed_travel_layer_0":
{
"maximum_value_warning": "550",
"value": 150
},
"speed_wall":
{
"maximum_value_warning": "550",
"value": 250
},
"speed_wall_0":
{
"maximum_value_warning": "550",
"value": 150
},
"speed_wall_x":
{
"maximum_value_warning": "550",
"value": 250
},
"speed_wall_x_roofing": { "maximum_value_warning": "550" },
"support_bottom_distance": { "value": 0.2 },
"support_brim_enable": { "value": false },
"support_brim_line_count": { "value": 20 },
"support_brim_width": { "value": 8 },
"support_infill_angles": { "value": [] },
"support_infill_rate": { "value": 30 },
"support_initial_layer_line_distance": { "value": 1.333 },
"support_line_distance": { "value": 1.333 },
"support_offset": { "value": 2 },
"support_top_distance": { "value": 0.2 },
"support_xy_distance": { "value": 0.8 },
"support_xy_overrides_z": { "value": "xy_overrides_z" },
"top_layers": { "value": 4 },
"top_skin_expand_distance": { "value": 0.84 },
"top_skin_preshrink": { "value": 0.84 },
"travel_avoid_distance": { "value": 0.63 },
"wall_0_extruder_nr": { "value": -1 },
"wall_extruder_nr": { "value": -1 },
"wall_line_width_0": { "value": 0.44 },
"wall_overhang_angle": { "value": 45 },
"wall_overhang_speed_factor": { "value": 40 },
"wall_thickness": { "value": 0.84 },
"wall_x_extruder_nr": { "value": -1 },
"zig_zaggify_infill": { "value": true }
}
}

View File

@ -0,0 +1,55 @@
{
"version": 2,
"name": "Creality K1 Max",
"inherits": "creality_base",
"metadata":
{
"visible": true,
"author": "Itay Grudev",
"manufacturer": "Creality3D",
"file_formats": "text/x-gcode",
"first_start_actions": [ "MachineSettingsAction" ],
"has_machine_quality": true,
"has_materials": true,
"has_variants": true,
"machine_extruder_trains": { "0": "creality_k1max_extruder_0" },
"preferred_material": "generic_pla",
"preferred_quality_type": "standard",
"preferred_variant_name": "0.4mm Nozzle",
"quality_definition": "creality_base",
"variants_name": "Nozzle Size"
},
"overrides":
{
"gantry_height": { "value": 45 },
"machine_depth": { "default_value": 300 },
"machine_end_gcode": { "default_value": "END_PRINT" },
"machine_head_with_fans_polygon":
{
"default_value": [
[-50, 40],
[-50, -62],
[25, 40],
[25, -62]
]
},
"machine_heated_bed": { "default_value": true },
"machine_height": { "default_value": 300 },
"machine_max_acceleration_e": { "value": 5000 },
"machine_max_acceleration_x": { "value": 20000.0 },
"machine_max_acceleration_y": { "value": 20000.0 },
"machine_max_acceleration_z": { "value": 500.0 },
"machine_max_feedrate_e": { "value": 100 },
"machine_max_feedrate_x": { "value": 800 },
"machine_max_feedrate_y": { "value": 800 },
"machine_max_feedrate_z": { "value": 30 },
"machine_max_jerk_e": { "value": 2.5 },
"machine_max_jerk_xy": { "value": 9 },
"machine_max_jerk_z": { "value": 2 },
"machine_name": { "default_value": "Creality K1 Max" },
"machine_start_gcode": { "default_value": "M140 S0\nM104 S0 \nSTART_PRINT EXTRUDER_TEMP={material_print_temperature_layer_0} BED_TEMP={material_bed_temperature_layer_0}\n" },
"machine_width": { "default_value": 300 },
"retraction_amount": { "default_value": 0.5 },
"retraction_speed": { "default_value": 40 }
}
}

View File

@ -4775,6 +4775,34 @@
"settable_per_mesh": true,
"settable_per_extruder": true
},
"support_z_seam_away_from_model":
{
"label": "Support Z Seam Away from Model",
"description": "Manage the spatial relationship between the z seam of the support structure and the actual 3D model. This control is crucial as it allows users to ensure the seamless removal of support structures post-printing, without inflicting damage or leaving marks on the printed model.",
"type": "bool",
"default_value": true,
"enabled": "support_enable",
"settable_per_mesh": false,
"settable_per_extruder": true,
"settable_per_meshgroup": false,
"children":
{
"support_z_seam_min_distance":
{
"label": "Min Z Seam Distance from Model",
"description": "The distance between the model and its support structure at the z-axis seam.",
"unit": "mm",
"minimum_value": "0.001",
"value": "line_width * 2",
"default_value": 0.8,
"maximum_value_warning": "line_width * 4",
"type": "float",
"enabled": "support_z_seam_away_from_model and support_enable",
"settable_per_mesh": false,
"settable_per_extruder": true
}
}
},
"support_type":
{
"label": "Support Placement",
@ -8559,7 +8587,9 @@
"enabled": "ppr_enable",
"unit": "%",
"type": "float",
"settable_per_extruder": true
"settable_per_extruder": true,
"settable_per_mesh": false,
"settable_per_meshgroup": false
},
"flow_anomaly_limit":
{
@ -8569,7 +8599,9 @@
"enabled": "ppr_enable",
"unit": "%",
"type": "float",
"settable_per_extruder": true
"settable_per_extruder": true,
"settable_per_mesh": false,
"settable_per_meshgroup": false
},
"print_temp_warn_limit":
{
@ -8579,7 +8611,9 @@
"type": "float",
"default_value": 3.0,
"enabled": "ppr_enable",
"settable_per_extruder": true
"settable_per_extruder": true,
"settable_per_mesh": false,
"settable_per_meshgroup": false
},
"print_temp_anomaly_limit":
{
@ -8589,7 +8623,9 @@
"type": "float",
"default_value": 7.0,
"enabled": "ppr_enable",
"settable_per_extruder": true
"settable_per_extruder": true,
"settable_per_mesh": false,
"settable_per_meshgroup": false
},
"bv_temp_warn_limit":
{
@ -8599,7 +8635,9 @@
"type": "float",
"default_value": 7.5,
"enabled": "ppr_enable",
"settable_per_extruder": false
"settable_per_extruder": false,
"settable_per_mesh": false,
"settable_per_meshgroup": false
},
"bv_temp_anomaly_limit":
{
@ -8609,7 +8647,9 @@
"type": "float",
"default_value": 10.0,
"enabled": "ppr_enable",
"settable_per_extruder": false
"settable_per_extruder": false,
"settable_per_mesh": false,
"settable_per_meshgroup": false
}
}
},

View File

@ -0,0 +1,365 @@
{
"version": 2,
"name": "UltiMaker Factor 4",
"inherits": "ultimaker",
"metadata":
{
"visible": true,
"author": "UltiMaker",
"manufacturer": "Ultimaker B.V.",
"file_formats": "application/x-ufp;text/x-gcode",
"platform": "ultimaker_factor4_platform.obj",
"bom_numbers": [
227380
],
"firmware_update_info":
{
"check_urls": [ "http://software.ultimaker.com/releases/firmware/227380/stable/um-update.swu.version" ],
"id": 227380,
"update_url": "https://ultimaker.com/firmware"
},
"first_start_actions": [ "DiscoverUM3Action" ],
"has_machine_materials": true,
"has_machine_quality": true,
"has_materials": true,
"has_variants": true,
"machine_extruder_trains":
{
"0": "ultimaker_factor4_extruder_left",
"1": "ultimaker_factor4_extruder_right"
},
"nozzle_offsetting_for_disallowed_areas": false,
"platform_offset": [
0,
0,
0
],
"platform_texture": "UltimakerFactor4Backplate.png",
"preferred_material": "ultimaker_tough_pla_black",
"preferred_quality_type": "draft",
"preferred_variant_name": "AA 0.4",
"supported_actions": [ "DiscoverUM3Action" ],
"supports_material_export": true,
"supports_network_connection": true,
"supports_usb_connection": false,
"variants_name": "Print core",
"weight": -1
},
"overrides":
{
"acceleration_enabled": { "value": "True" },
"acceleration_prime_tower": { "value": "acceleration_print" },
"acceleration_print": { "value": "2500" },
"acceleration_support": { "value": "acceleration_print" },
"acceleration_support_interface": { "value": "acceleration_topbottom" },
"acceleration_topbottom": { "value": "acceleration_print" },
"acceleration_wall": { "value": "acceleration_print" },
"acceleration_wall_0": { "value": "acceleration_wall" },
"acceleration_wall_x": { "value": "acceleration_wall" },
"adhesion_type": { "value": "'skirt'" },
"bridge_enable_more_layers": { "value": "True" },
"bridge_fan_speed_2": { "value": "(cool_fan_speed_max + cool_fan_speed_min) / 2" },
"bridge_settings_enabled": { "value": "True" },
"bridge_skin_density": { "value": "100" },
"bridge_skin_material_flow": { "maximum_value": "100" },
"bridge_skin_material_flow_2": { "maximum_value": "100" },
"bridge_skin_material_flow_3": { "maximum_value": "100" },
"bridge_wall_material_flow": { "maximum_value": "100" },
"bridge_wall_speed": { "value": "speed_wall" },
"brim_width": { "value": "5" },
"build_volume_temperature":
{
"maximum_value": "max(35, min((material_bed_temperature + 20) / 2, 70))",
"maximum_value_warning": "max(30, min((material_bed_temperature + 10) / 2, 70))",
"minimum_value": "max((material_bed_temperature - 30) / 2, 30)",
"minimum_value_warning": "max((material_bed_temperature - 20) / 2, 30)"
},
"cool_min_layer_time": { "value": 3 },
"cool_min_layer_time_fan_speed_max": { "value": "cool_min_layer_time + 12" },
"cool_min_speed": { "value": "round(speed_wall_0 * 1 / 2) if cool_lift_head else round(speed_wall_0 / 3)" },
"default_material_print_temperature": { "maximum_value": "340" },
"expand_skins_expand_distance": { "value": "skin_preshrink * 2" },
"extruder_prime_pos_abs": { "default_value": true },
"gantry_height": { "value": 35 },
"gradual_support_infill_steps": { "value": "3 if support_interface_enable and support_structure != 'tree' else 0" },
"group_outer_walls": { "value": "False" },
"infill_before_walls": { "value": "False if infill_sparse_density > 50 else True" },
"infill_enable_travel_optimization": { "value": "True" },
"infill_material_flow":
{
"maximum_value": "100",
"value": "(1 + (skin_material_flow-infill_sparse_density) / 100 if infill_sparse_density > skin_material_flow else 1) * material_flow"
},
"infill_overlap": { "value": "0" },
"infill_pattern": { "value": "'zigzag' if infill_sparse_density > 50 else 'triangles'" },
"infill_sparse_density": { "maximum_value": "100" },
"infill_wipe_dist": { "value": "0" },
"inset_direction": { "value": "'inside_out'" },
"jerk_enabled": { "value": "True" },
"jerk_travel":
{
"maximum_value": "5",
"value": "5"
},
"jerk_travel_enabled": { "value": "True" },
"layer_height": { "value": "min(min(extruderValues('machine_nozzle_size')) / 2, 0.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'))" },
"machine_acceleration": { "default_value": 3000 },
"machine_depth": { "default_value": 240 },
"machine_end_gcode": { "default_value": "" },
"machine_extruder_count": { "default_value": 2 },
"machine_gcode_flavor": { "default_value": "Griffin" },
"machine_head_with_fans_polygon":
{
"default_value": [
[-30, -80],
[-30, 20],
[50, 20],
[50, -80]
]
},
"machine_heated_bed": { "default_value": true },
"machine_heated_build_volume": { "default_value": true },
"machine_height": { "default_value": 300 },
"machine_max_acceleration_e": { "default_value": 2000 },
"machine_max_feedrate_x": { "default_value": 125 },
"machine_max_feedrate_y": { "default_value": 125 },
"machine_max_feedrate_z": { "default_value": 40 },
"machine_max_jerk_e": { "default_value": 2 },
"machine_min_cool_heat_time_window": { "value": "15" },
"machine_name": { "default_value": "Ultimaker Factor 4" },
"machine_nozzle_cool_down_speed": { "value": "0.3 + 0.0025 * material_print_temperature" },
"machine_nozzle_heat_up_speed": { "value": "2 - 0.0025 * material_print_temperature" },
"machine_start_gcode": { "default_value": "" },
"machine_width": { "default_value": 330 },
"material_bed_temperature": { "maximum_value": "120" },
"material_bed_temperature_layer_0": { "maximum_value": "120" },
"material_final_print_temperature":
{
"maximum_value": "340",
"value": "material_print_temperature"
},
"material_flow":
{
"maximum_value": "100",
"value": "100"
},
"material_flow_layer_0":
{
"maximum_value": "100",
"value": "95"
},
"material_initial_print_temperature":
{
"maximum_value": "340",
"value": "material_print_temperature"
},
"material_print_temperature":
{
"maximum_value": "340",
"value": "default_material_print_temperature"
},
"material_print_temperature_layer_0": { "maximum_value": "320" },
"material_shrinkage_percentage": { "enabled": true },
"multiple_mesh_overlap": { "value": "0" },
"optimize_wall_printing_order": { "value": "True" },
"prime_blob_enable":
{
"default_value": false,
"enabled": true
},
"prime_tower_base_curve_magnitude": { "value": 2 },
"prime_tower_base_height": { "value": 6 },
"prime_tower_base_size": { "value": 6 },
"prime_tower_brim_enable": { "value": "True" },
"prime_tower_enable": { "value": "True" },
"prime_tower_flow":
{
"maximum_value": "100",
"value": "material_flow"
},
"prime_tower_min_volume": { "value": "10" },
"prime_tower_position_x": { "value": "315" },
"prime_tower_position_y": { "value": "25" },
"prime_tower_wipe_enabled": { "value": "True" },
"retraction_amount": { "value": "1.5" },
"retraction_combing_max_distance": { "value": "speed_travel / 10" },
"retraction_count_max": { "value": "200" },
"retraction_hop": { "value": "0.2" },
"retraction_hop_enabled": { "value": "True" },
"retraction_hop_only_when_collides": { "value": "True" },
"retraction_min_travel": { "value": 1 },
"retraction_prime_speed": { "value": "15" },
"retraction_speed": { "value": "25" },
"roofing_material_flow":
{
"maximum_value": "100",
"value": "skin_material_flow"
},
"roofing_monotonic": { "value": "True" },
"skin_material_flow":
{
"maximum_value": "100",
"value": "material_flow * 0.93"
},
"skin_material_flow_layer_0":
{
"maximum_value": "100",
"value": "material_flow_layer_0"
},
"skin_monotonic": { "value": "False" },
"skin_overlap": { "value": "0" },
"skirt_brim_material_flow":
{
"maximum_value": "100",
"value": "material_flow"
},
"skirt_brim_minimal_length": { "value": "500" },
"small_skin_on_surface": { "value": "True" },
"small_skin_width": { "value": "1.5" },
"speed_infill":
{
"maximum_value": "min(machine_max_feedrate_x, machine_max_feedrate_y)",
"value": "speed_print"
},
"speed_layer_0":
{
"maximum_value": "min(machine_max_feedrate_x, machine_max_feedrate_y)",
"value": "30"
},
"speed_prime_tower":
{
"maximum_value": "min(machine_max_feedrate_x, machine_max_feedrate_y)",
"value": "speed_topbottom"
},
"speed_print":
{
"maximum_value": "min(machine_max_feedrate_x, machine_max_feedrate_y)",
"value": "50"
},
"speed_print_layer_0":
{
"maximum_value": "min(machine_max_feedrate_x, machine_max_feedrate_y)",
"value": "speed_layer_0"
},
"speed_roofing":
{
"maximum_value": "min(machine_max_feedrate_x, machine_max_feedrate_y)",
"value": "speed_wall_0"
},
"speed_support":
{
"maximum_value": "min(machine_max_feedrate_x, machine_max_feedrate_y)",
"value": "speed_print"
},
"speed_support_interface":
{
"maximum_value": "min(machine_max_feedrate_x, machine_max_feedrate_y)",
"value": "speed_topbottom"
},
"speed_topbottom":
{
"maximum_value": "min(machine_max_feedrate_x, machine_max_feedrate_y)",
"value": "speed_print"
},
"speed_travel":
{
"maximum_value": "min(machine_max_feedrate_x, machine_max_feedrate_y)",
"value": "125"
},
"speed_travel_layer_0": { "maximum_value": "min(machine_max_feedrate_x, machine_max_feedrate_y)" },
"speed_wall":
{
"maximum_value": "min(machine_max_feedrate_x, machine_max_feedrate_y)",
"value": "30"
},
"speed_wall_0":
{
"maximum_value": "min(machine_max_feedrate_x, machine_max_feedrate_y)",
"value": "speed_wall"
},
"speed_wall_x":
{
"maximum_value": "min(machine_max_feedrate_x, machine_max_feedrate_y)",
"value": "speed_print"
},
"speed_wall_x_roofing":
{
"maximum_value": "min(machine_max_feedrate_x, machine_max_feedrate_y)",
"value": "speed_wall"
},
"support_angle": { "value": "60" },
"support_bottom_distance": { "value": "support_z_distance * 2" },
"support_bottom_height": { "value": "support_interface_height" },
"support_bottom_material_flow":
{
"maximum_value": "100",
"value": "support_interface_material_flow"
},
"support_brim_enable": { "value": "True" },
"support_fan_enable": { "value": "True" },
"support_interface_enable": { "value": "True" },
"support_interface_height": { "value": "layer_height * 2" },
"support_interface_material_flow": { "maximum_value": "100" },
"support_material_flow":
{
"maximum_value": "100",
"value": "material_flow"
},
"support_roof_material_flow":
{
"maximum_value": "100",
"value": "support_interface_material_flow"
},
"support_supported_skin_fan_speed": { "value": "cool_fan_speed_max" },
"support_top_distance": { "value": "support_z_distance" },
"support_z_distance": { "value": "max(0.2, layer_height)" },
"switch_extruder_retraction_amount": { "value": "10" },
"switch_extruder_retraction_speeds": { "value": "retraction_speed" },
"top_bottom_pattern": { "value": "'zigzag'" },
"top_bottom_thickness": { "value": "wall_thickness" },
"travel_avoid_distance": { "value": "3 if extruders_enabled_count > 1 else machine_nozzle_tip_outer_diameter * 2" },
"travel_avoid_supports": { "value": "True" },
"wall_0_inset": { "value": "0" },
"wall_0_material_flow":
{
"maximum_value": "100",
"value": "wall_material_flow"
},
"wall_0_material_flow_layer_0":
{
"maximum_value": "100",
"value": "material_flow_layer_0"
},
"wall_0_material_flow_roofing":
{
"maximum_value": "100",
"value": "wall_material_flow"
},
"wall_0_wipe_dist": { "value": "0" },
"wall_material_flow":
{
"maximum_value": "100",
"value": "material_flow"
},
"wall_x_material_flow":
{
"maximum_value": "100",
"value": "(wall_material_flow + skin_material_flow) / 2"
},
"wall_x_material_flow_layer_0":
{
"maximum_value": "100",
"value": "material_flow_layer_0"
},
"wall_x_material_flow_roofing":
{
"maximum_value": "100",
"value": "(wall_material_flow + roofing_material_flow) / 2"
},
"z_seam_position": { "value": "'backleft'" },
"z_seam_type": { "value": "'back'" },
"zig_zaggify_infill": { "value": "True" }
}
}

View File

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

View File

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

View File

@ -0,0 +1,30 @@
{
"version": 2,
"name": "Extruder 1",
"inherits": "fdmextruder",
"metadata":
{
"machine": "ultimaker_factor4",
"position": "0"
},
"overrides":
{
"extruder_nr":
{
"default_value": 0,
"maximum_value": "1"
},
"extruder_prime_pos_x": { "default_value": -3 },
"extruder_prime_pos_y": { "default_value": 6 },
"extruder_prime_pos_z": { "default_value": 2 },
"machine_extruder_end_pos_abs": { "default_value": true },
"machine_extruder_end_pos_x": { "value": "machine_width - 20" },
"machine_extruder_end_pos_y": { "default_value": 20 },
"machine_extruder_start_pos_abs": { "default_value": true },
"machine_extruder_start_pos_x": { "value": "machine_width - 20" },
"machine_extruder_start_pos_y": { "default_value": 20 },
"machine_nozzle_head_distance": { "default_value": 2.7 },
"machine_nozzle_offset_x": { "default_value": 0 },
"machine_nozzle_offset_y": { "default_value": 0 }
}
}

View File

@ -0,0 +1,30 @@
{
"version": 2,
"name": "Extruder 2",
"inherits": "fdmextruder",
"metadata":
{
"machine": "ultimaker_factor4",
"position": "1"
},
"overrides":
{
"extruder_nr":
{
"default_value": 1,
"maximum_value": "1"
},
"extruder_prime_pos_x": { "default_value": 250 },
"extruder_prime_pos_y": { "default_value": 6 },
"extruder_prime_pos_z": { "default_value": 2 },
"machine_extruder_end_pos_abs": { "default_value": true },
"machine_extruder_end_pos_x": { "value": "machine_width - 20" },
"machine_extruder_end_pos_y": { "default_value": 20 },
"machine_extruder_start_pos_abs": { "default_value": true },
"machine_extruder_start_pos_x": { "value": "machine_width - 20" },
"machine_extruder_start_pos_y": { "default_value": 20 },
"machine_nozzle_head_distance": { "default_value": 4.2 },
"machine_nozzle_offset_x": { "default_value": 18 },
"machine_nozzle_offset_y": { "default_value": 0 }
}
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 517 KiB

View File

@ -0,0 +1,21 @@
[general]
definition = ultimaker_factor4
name = Visual
version = 4
[metadata]
intent_category = visual
material = generic_petg
quality_type = normal
setting_version = 23
type = intent
variant = AA 0.25
[values]
acceleration_wall = 1000
bottom_thickness = 0.6
jerk_wall = 20
speed_print = 50
top_thickness = 0.8
wall_thickness = 0.8

View File

@ -0,0 +1,21 @@
[general]
definition = ultimaker_factor4
name = Visual
version = 4
[metadata]
intent_category = visual
material = generic_pla
quality_type = normal
setting_version = 23
type = intent
variant = AA 0.25
[values]
acceleration_wall = 1000
bottom_thickness = 0.6
jerk_wall = 20
speed_print = 50
top_thickness = 0.8
wall_thickness = 0.8

View File

@ -0,0 +1,21 @@
[general]
definition = ultimaker_factor4
name = Visual
version = 4
[metadata]
intent_category = visual
material = generic_tough_pla
quality_type = normal
setting_version = 23
type = intent
variant = AA 0.25
[values]
acceleration_wall = 1000
bottom_thickness = 0.6
jerk_wall = 20
speed_print = 50
top_thickness = 0.8
wall_thickness = 0.8

View File

@ -0,0 +1,18 @@
[general]
definition = ultimaker_factor4
name = Accurate
version = 4
[metadata]
intent_category = engineering
material = generic_abs
quality_type = draft
setting_version = 23
type = intent
variant = AA 0.4
[values]
jerk_print = 30
speed_print = 80
wall_thickness = =line_width * 3

View File

@ -0,0 +1,18 @@
[general]
definition = ultimaker_factor4
name = Accurate
version = 4
[metadata]
intent_category = engineering
material = generic_cpe_plus
quality_type = draft
setting_version = 23
type = intent
variant = AA 0.4
[values]
jerk_print = 30
speed_print = 80
wall_thickness = =line_width * 3

View File

@ -0,0 +1,18 @@
[general]
definition = ultimaker_factor4
name = Accurate
version = 4
[metadata]
intent_category = engineering
material = generic_cpe
quality_type = draft
setting_version = 23
type = intent
variant = AA 0.4
[values]
jerk_print = 30
speed_print = 80
wall_thickness = =line_width * 3

View File

@ -0,0 +1,21 @@
[general]
definition = ultimaker_factor4
name = Annealing
version = 4
[metadata]
intent_category = annealing
material = generic_nylon
quality_type = draft
setting_version = 23
type = intent
variant = AA 0.4
[values]
infill_sparse_density = 100
jerk_print = 30
material_shrinkage_percentage_xy = 100.3
material_shrinkage_percentage_z = 100.9
support_enable = True
wall_thickness = =line_width * 3

View File

@ -0,0 +1,18 @@
[general]
definition = ultimaker_factor4
name = Accurate
version = 4
[metadata]
intent_category = engineering
material = generic_nylon
quality_type = draft
setting_version = 23
type = intent
variant = AA 0.4
[values]
jerk_print = 30
speed_print = 80
wall_thickness = =line_width * 3

View File

@ -0,0 +1,18 @@
[general]
definition = ultimaker_factor4
name = Accurate
version = 4
[metadata]
intent_category = engineering
material = generic_pc
quality_type = draft
setting_version = 23
type = intent
variant = AA 0.4
[values]
jerk_print = 30
speed_print = 80
wall_thickness = =line_width * 3

View File

@ -0,0 +1,21 @@
[general]
definition = ultimaker_factor4
name = Visual
version = 4
[metadata]
intent_category = visual
material = generic_petg
quality_type = normal
setting_version = 23
type = intent
variant = AA 0.4
[values]
acceleration_wall = 1000
bottom_thickness = 0.6
jerk_wall = 20
speed_print = 50
top_thickness = 0.8
wall_thickness = 0.8

View File

@ -0,0 +1,18 @@
[general]
definition = ultimaker_factor4
name = Accurate
version = 4
[metadata]
intent_category = engineering
material = generic_petg
quality_type = draft
setting_version = 23
type = intent
variant = AA 0.4
[values]
jerk_print = 30
speed_print = 80
wall_thickness = =line_width * 3

View File

@ -0,0 +1,24 @@
[general]
definition = ultimaker_factor4
name = Quick
version = 4
[metadata]
intent_category = quick
is_experimental = True
material = generic_petg
quality_type = draft
setting_version = 23
type = intent
variant = AA 0.4
[values]
acceleration_print = 3000
bottom_thickness = 0.6
jerk_print = 30
speed_print = 100
speed_wall = =speed_print
speed_wall_0 = =speed_wall
top_thickness = 0.8
wall_thickness = 0.8

View File

@ -0,0 +1,23 @@
[general]
definition = ultimaker_factor4
name = Quick
version = 4
[metadata]
intent_category = quick
material = generic_petg
quality_type = verydraft
setting_version = 23
type = intent
variant = AA 0.4
[values]
acceleration_print = 3000
bottom_thickness = 0.6
jerk_print = 30
speed_print = 100
speed_wall = =speed_print
speed_wall_0 = =speed_wall
top_thickness = 0.8
wall_thickness = 0.8

View File

@ -0,0 +1,21 @@
[general]
definition = ultimaker_factor4
name = Visual
version = 4
[metadata]
intent_category = visual
material = generic_pla
quality_type = normal
setting_version = 23
type = intent
variant = AA 0.4
[values]
acceleration_wall = 1000
bottom_thickness = 0.6
jerk_wall = 20
speed_print = 50
top_thickness = 0.8
wall_thickness = 0.8

View File

@ -0,0 +1,21 @@
[general]
definition = ultimaker_factor4
name = Accurate
version = 4
[metadata]
intent_category = engineering
material = generic_pla
quality_type = draft
setting_version = 23
type = intent
variant = AA 0.4
[values]
build_volume_temperature = 35
jerk_print = 30
material_bed_temperature = =default_material_bed_temperature + 5
material_print_temperature = =default_material_print_temperature + 15
speed_print = 80
wall_thickness = =line_width * 3

View File

@ -0,0 +1,25 @@
[general]
definition = ultimaker_factor4
name = Quick
version = 4
[metadata]
intent_category = quick
is_experimental = True
material = generic_pla
quality_type = draft
setting_version = 23
type = intent
variant = AA 0.4
[values]
acceleration_print = 3000
bottom_thickness = 0.6
jerk_print = 30
material_print_temperature = =default_material_print_temperature + 30
speed_print = 100
speed_wall = =speed_print
speed_wall_0 = =speed_wall
top_thickness = 0.8
wall_thickness = 0.8

View File

@ -0,0 +1,23 @@
[general]
definition = ultimaker_factor4
name = Quick
version = 4
[metadata]
intent_category = quick
material = generic_pla
quality_type = verydraft
setting_version = 23
type = intent
variant = AA 0.4
[values]
acceleration_print = 3000
bottom_thickness = 0.6
jerk_print = 30
speed_print = 100
speed_wall = =speed_print
speed_wall_0 = =speed_wall
top_thickness = 0.8
wall_thickness = 0.8

View File

@ -0,0 +1,21 @@
[general]
definition = ultimaker_factor4
name = Visual
version = 4
[metadata]
intent_category = visual
material = generic_tough_pla
quality_type = normal
setting_version = 23
type = intent
variant = AA 0.4
[values]
acceleration_wall = 1000
bottom_thickness = 0.6
jerk_wall = 20
speed_print = 50
top_thickness = 0.8
wall_thickness = 0.8

View File

@ -0,0 +1,21 @@
[general]
definition = ultimaker_factor4
name = Accurate
version = 4
[metadata]
intent_category = engineering
material = generic_tough_pla
quality_type = draft
setting_version = 23
type = intent
variant = AA 0.4
[values]
build_volume_temperature = 35
jerk_print = 30
material_bed_temperature = =default_material_bed_temperature + 5
material_print_temperature = =default_material_print_temperature + 15
speed_print = 80
wall_thickness = =line_width * 3

View File

@ -0,0 +1,25 @@
[general]
definition = ultimaker_factor4
name = Quick
version = 4
[metadata]
intent_category = quick
is_experimental = True
material = generic_tough_pla
quality_type = draft
setting_version = 23
type = intent
variant = AA 0.4
[values]
acceleration_print = 3000
bottom_thickness = 0.6
jerk_print = 30
material_print_temperature = =default_material_print_temperature + 30
speed_print = 100
speed_wall = =speed_print
speed_wall_0 = =speed_wall
top_thickness = 0.8
wall_thickness = 0.8

View File

@ -0,0 +1,23 @@
[general]
definition = ultimaker_factor4
name = Quick
version = 4
[metadata]
intent_category = quick
material = generic_tough_pla
quality_type = verydraft
setting_version = 23
type = intent
variant = AA 0.4
[values]
acceleration_print = 3000
bottom_thickness = 0.6
jerk_print = 30
speed_print = 100
speed_wall = =speed_print
speed_wall_0 = =speed_wall
top_thickness = 0.8
wall_thickness = 0.8

View File

@ -0,0 +1,21 @@
[general]
definition = ultimaker_factor4
name = Annealing
version = 4
[metadata]
intent_category = annealing
material = generic_nylon
quality_type = draft
setting_version = 23
type = intent
variant = AA 0.8
[values]
infill_sparse_density = 100
jerk_print = 30
material_shrinkage_percentage_xy = 100.3
material_shrinkage_percentage_z = 100.9
support_enable = True
wall_thickness = =line_width * 3

View File

@ -0,0 +1,19 @@
[general]
definition = ultimaker_factor4
name = Accurate
version = 4
[metadata]
intent_category = engineering
material = generic_nylon
quality_type = draft
setting_version = 23
type = intent
variant = AA 0.8
[values]
jerk_print = 30
speed_print = 30
speed_wall = =speed_print
speed_wall_0 = =speed_wall

View File

@ -0,0 +1,19 @@
[general]
definition = ultimaker_factor4
name = Accurate
version = 4
[metadata]
intent_category = engineering
material = generic_petg
quality_type = draft
setting_version = 23
type = intent
variant = AA 0.8
[values]
jerk_print = 30
speed_print = 30
speed_wall = =speed_print
speed_wall_0 = =speed_wall

View File

@ -0,0 +1,23 @@
[general]
definition = ultimaker_factor4
name = Quick
version = 4
[metadata]
intent_category = quick
material = generic_petg
quality_type = superdraft
setting_version = 23
type = intent
variant = AA 0.8
[values]
acceleration_print = 3000
bottom_thickness = 0.6
jerk_print = 30
speed_print = 50
speed_wall = =speed_print
speed_wall_0 = =speed_wall
top_thickness = 0.8
wall_thickness = =wall_line_width_0

View File

@ -0,0 +1,19 @@
[general]
definition = ultimaker_factor4
name = Accurate
version = 4
[metadata]
intent_category = engineering
material = generic_pla
quality_type = draft
setting_version = 23
type = intent
variant = AA 0.8
[values]
jerk_print = 30
speed_print = 30
speed_wall = =speed_print
speed_wall_0 = =speed_wall

View File

@ -0,0 +1,23 @@
[general]
definition = ultimaker_factor4
name = Quick
version = 4
[metadata]
intent_category = quick
material = generic_pla
quality_type = superdraft
setting_version = 23
type = intent
variant = AA 0.8
[values]
acceleration_print = 3000
bottom_thickness = 0.6
jerk_print = 30
speed_print = 50
speed_wall = =speed_print
speed_wall_0 = =speed_wall
top_thickness = 0.8
wall_thickness = =wall_line_width_0

View File

@ -0,0 +1,19 @@
[general]
definition = ultimaker_factor4
name = Accurate
version = 4
[metadata]
intent_category = engineering
material = generic_tough_pla
quality_type = draft
setting_version = 23
type = intent
variant = AA 0.8
[values]
jerk_print = 30
speed_print = 30
speed_wall = =speed_print
speed_wall_0 = =speed_wall

View File

@ -0,0 +1,23 @@
[general]
definition = ultimaker_factor4
name = Quick
version = 4
[metadata]
intent_category = quick
material = generic_tough_pla
quality_type = superdraft
setting_version = 23
type = intent
variant = AA 0.8
[values]
acceleration_print = 3000
bottom_thickness = 0.6
jerk_print = 30
speed_print = 50
speed_wall = =speed_print
speed_wall_0 = =speed_wall
top_thickness = 0.8
wall_thickness = =wall_line_width_0

View File

@ -0,0 +1,18 @@
[general]
definition = ultimaker_factor4
name = Accurate
version = 4
[metadata]
intent_category = engineering
material = generic_cffpa
quality_type = draft
setting_version = 23
type = intent
variant = CC 0.4
[values]
jerk_print = 30
speed_print = 80
wall_thickness = =line_width * 3

View File

@ -0,0 +1,18 @@
[general]
definition = ultimaker_factor4
name = Accurate
version = 4
[metadata]
intent_category = engineering
material = generic_gffpa
quality_type = draft
setting_version = 23
type = intent
variant = CC 0.4
[values]
jerk_print = 30
speed_print = 80
wall_thickness = =line_width * 3

View File

@ -0,0 +1,22 @@
[general]
definition = ultimaker_factor4
name = Annealing
version = 4
[metadata]
intent_category = annealing
material = generic_petcf
quality_type = draft
setting_version = 23
type = intent
variant = CC 0.4
[values]
infill_sparse_density = 100
jerk_print = 30
material_shrinkage_percentage_xy = 100.3
material_shrinkage_percentage_z = 100.9
speed_print = 20
support_enable = True
wall_thickness = =line_width * 3

View File

@ -0,0 +1,18 @@
[general]
definition = ultimaker_factor4
name = Accurate
version = 4
[metadata]
intent_category = engineering
material = generic_petcf
quality_type = draft
setting_version = 23
type = intent
variant = CC 0.4
[values]
jerk_print = 30
speed_print = 80
wall_thickness = =line_width * 3

View File

@ -0,0 +1,18 @@
[general]
definition = ultimaker_factor4
name = Accurate
version = 4
[metadata]
intent_category = engineering
material = generic_cffpa
quality_type = draft
setting_version = 23
type = intent
variant = CC 0.6
[values]
jerk_print = 30
speed_print = 80
wall_thickness = =line_width * 3

View File

@ -0,0 +1,18 @@
[general]
definition = ultimaker_factor4
name = Accurate
version = 4
[metadata]
intent_category = engineering
material = generic_gffpa
quality_type = draft
setting_version = 23
type = intent
variant = CC 0.6
[values]
jerk_print = 30
speed_print = 80
wall_thickness = =line_width * 3

View File

@ -0,0 +1,22 @@
[general]
definition = ultimaker_factor4
name = Annealing
version = 4
[metadata]
intent_category = annealing
material = generic_petcf
quality_type = draft
setting_version = 23
type = intent
variant = CC 0.6
[values]
infill_sparse_density = 100
jerk_print = 30
material_shrinkage_percentage_xy = 100.3
material_shrinkage_percentage_z = 100.9
speed_print = 25
support_enable = True
wall_thickness = =line_width * 3

View File

@ -0,0 +1,18 @@
[general]
definition = ultimaker_factor4
name = Accurate
version = 4
[metadata]
intent_category = engineering
material = generic_petcf
quality_type = draft
setting_version = 23
type = intent
variant = CC 0.6
[values]
jerk_print = 30
speed_print = 80
wall_thickness = =line_width * 3

View File

@ -0,0 +1,22 @@
[general]
definition = ultimaker_factor4
name = Annealing
version = 4
[metadata]
intent_category = annealing
material = generic_cffpps
quality_type = draft
setting_version = 23
type = intent
variant = HT 0.6
[values]
infill_sparse_density = 100
jerk_print = 30
material_shrinkage_percentage_xy = 100.3
material_shrinkage_percentage_z = 100.9
speed_print = 25
support_enable = True
wall_thickness = =line_width * 3

View File

@ -0,0 +1,18 @@
[general]
definition = ultimaker_factor4
name = Accurate
version = 4
[metadata]
intent_category = engineering
material = generic_cffpps
quality_type = draft
setting_version = 23
type = intent
variant = HT 0.6
[values]
jerk_print = 30
speed_print = 70
wall_thickness = =line_width * 3

View File

@ -0,0 +1,22 @@
[general]
definition = ultimaker_factor4
name = Annealing
version = 4
[metadata]
intent_category = annealing
material = generic_petcf
quality_type = draft
setting_version = 23
type = intent
variant = HT 0.6
[values]
infill_sparse_density = 100
jerk_print = 30
material_shrinkage_percentage_xy = 100.3
material_shrinkage_percentage_z = 100.9
speed_print = 25
support_enable = True
wall_thickness = =line_width * 3

View File

@ -0,0 +1,18 @@
[general]
definition = ultimaker_factor4
name = Accurate
version = 4
[metadata]
intent_category = engineering
material = generic_petcf
quality_type = draft
setting_version = 23
type = intent
variant = HT 0.6
[values]
jerk_print = 30
speed_print = 70
wall_thickness = =line_width * 3

View File

@ -0,0 +1,745 @@
# Exported from 3D Builder
mtllib D:\Documents\Projects\AnkerMake-M5-Profile\5.1\images\AM-M5-bed.mtl
o Object.1
v 121.092972 123.154205 -0.102764
v 119.840958 123.932068 -0.102778
v 119.840958 123.932068 0.097220
v 121.092972 123.154205 0.097234
v 78.657051 -126.525543 0.102253
v 78.012062 -126.955132 0.102262
v 78.012062 -126.955139 -0.097736
v 78.657051 -126.525551 -0.097745
v -75.704933 -141.014282 -0.097276
v -75.352928 -141.851379 -0.097260
v -75.352928 -141.851364 0.102738
v -75.704933 -141.014282 0.102722
v -74.881927 -142.616196 -0.097246
v -74.881927 -142.616180 0.102752
v 116.994965 124.874573 -0.102794
v 118.468956 124.512222 -0.102788
v 115.440956 125.000031 -0.102794
v 122.205963 122.196655 -0.102746
v 123.159973 121.079498 -0.102725
v 123.935974 119.821854 -0.102701
v 124.513977 118.444763 -0.102674
v 124.874969 116.966278 -0.102645
v 124.999969 115.405518 -0.102615
v 79.364059 -126.202339 0.102246
v 79.364059 -126.202347 -0.097752
v -76.946938 -128.027161 0.102464
v -76.946938 -128.027161 -0.097534
v -76.547928 -128.674576 -0.097521
v -76.547928 -128.674561 0.102477
v 80.123062 -125.999588 0.102241
v 80.123062 -125.999596 -0.097757
v 80.924057 -125.929337 -0.097759
v 80.924057 -125.929329 0.102239
v 125.000061 -116.334778 -0.098002
v 124.875061 -117.895561 -0.097971
v -115.441032 124.999939 -0.102525
v 75.924065 -140.114868 -0.097471
v 75.924065 -140.114868 0.102527
v 75.705070 -141.014221 0.102545
v 75.705070 -141.014221 -0.097453
v 74.301064 -143.294632 -0.097406
v 74.301064 -143.294632 0.102592
v 73.625069 -143.876816 -0.097394
v 118.468956 124.512222 0.097210
v 74.881050 -142.616135 -0.097420
v 74.881050 -142.616135 0.102578
v 116.994965 124.874573 0.097204
v 75.353065 -141.851318 -0.097436
v 75.353065 -141.851318 0.102562
v 115.440956 125.000031 0.097204
v 115.441055 -125.929314 0.102198
v 115.441055 -125.929321 -0.097800
v 116.995064 -125.803848 -0.097804
v 116.995064 -125.803841 0.102194
v 118.469055 -125.441521 -0.097813
v 118.469055 -125.441513 0.102185
v -124.999947 -116.334877 -0.097710
v -125.000031 115.405426 0.097675
v -125.000031 115.405418 -0.102323
v 119.841057 -124.861359 -0.097826
v 119.841057 -124.861351 0.102172
v 121.093071 -124.082481 -0.097843
v 121.093071 -124.082474 0.102155
v -124.874954 -117.895653 0.102319
v -124.513947 -119.374130 0.102348
v -124.999947 -116.334869 0.102288
v 124.514069 -119.374039 -0.097941
v 123.936066 -120.751137 -0.097913
v 123.160065 -122.008789 -0.097887
v 122.206055 -123.124947 -0.097863
v 122.206055 -123.124939 0.102135
v 74.000061 -122.918182 -0.097811
v -72.999939 -122.918236 -0.097640
v 123.160065 -122.008789 0.102111
v 123.936066 -120.751137 0.102085
v -116.996040 124.874481 0.097477
v -116.996040 124.874481 -0.102521
v -118.469032 124.512131 -0.102512
v -118.469032 124.512131 0.097486
v 124.514069 -119.374039 0.102057
v -119.841042 123.931976 -0.102499
v -119.841042 123.931976 0.097499
v 124.875061 -117.895561 0.102027
v -121.094032 123.154114 -0.102482
v -121.094032 123.154114 0.097516
v 125.000061 -116.334778 0.101996
v -122.207047 122.196564 -0.102462
v -122.207047 122.196564 0.097537
v -123.161026 121.079407 -0.102438
v -123.161026 121.079407 0.097560
v -123.936020 119.821762 -0.102412
v -123.936020 119.821762 0.097586
v 76.250061 -129.496536 -0.097683
v 76.548050 -128.762833 -0.097698
v 76.948059 -128.086334 -0.097712
v -124.514038 118.444664 -0.102384
v -124.514038 118.444672 0.097614
v -124.875038 116.966179 -0.102354
v -124.875038 116.966187 0.097644
v 77.439056 -127.480080 -0.097724
v 76.000069 -139.166367 0.102508
v 76.000069 -139.166367 -0.097490
v -115.441032 124.999939 0.097473
v 76.000061 -131.083420 0.102347
v 76.000061 -131.083420 -0.097651
v -80.121941 -126.071922 0.102429
v -80.922943 -126.007690 0.102429
v -80.922943 -126.007698 -0.097569
v -80.121941 -126.071930 -0.097569
v 124.874969 116.966278 0.097353
v 124.999969 115.405518 0.097383
v 76.064056 -130.274429 0.102331
v 76.064056 -130.274445 -0.097667
v 124.513977 118.444763 0.097324
v -79.363937 -126.258606 0.102432
v -79.363937 -126.258614 -0.097566
v 74.000069 -142.992523 -0.097412
v 123.935974 119.821869 0.097297
v 76.250061 -129.496536 0.102315
v -78.656929 -126.557716 0.102437
v -78.656929 -126.557724 -0.097561
v 123.159973 121.079514 0.097273
v 76.548050 -128.762817 0.102300
v 122.205963 122.196655 0.097252
v -78.011940 -126.959198 0.102444
v -78.011940 -126.959206 -0.097554
v 76.948059 -128.086319 0.102286
v -77.438934 -127.452026 0.102454
v -77.438934 -127.452034 -0.097544
v 77.439056 -127.480072 0.102274
v -74.301933 -143.294693 -0.097233
v -74.301933 -143.294678 0.102765
v -73.624931 -143.876877 -0.097222
v -73.624931 -143.876862 0.102776
v -88.022942 -125.929398 -0.097562
v -121.093933 -124.082565 0.102437
v -76.249939 -129.384201 -0.097507
v -88.022942 -126.007698 -0.097561
v -76.063942 -130.146011 -0.097492
v -75.999939 -130.948990 -0.097476
v -72.999931 -142.992584 -0.097240
v 71.133072 -144.923676 -0.097370
v 72.029060 -144.703873 -0.097375
v 70.188072 -144.999969 -0.097367
v 72.863068 -144.350555 -0.097383
v -70.187927 -145.000031 -0.097204
v -72.028931 -144.703934 -0.097207
v -71.133934 -144.923737 -0.097204
v -72.863922 -144.350616 -0.097213
v -75.999931 -139.166428 -0.097313
v -75.923935 -140.114929 -0.097294
v 70.188072 -144.999969 0.102631
v -70.187927 -145.000015 0.102794
v 71.133072 -144.923676 0.102628
v 72.029060 -144.703873 0.102623
v 72.863068 -144.350555 0.102615
v 73.625069 -143.876816 0.102604
v -72.863922 -144.350601 0.102785
v -72.028931 -144.703918 0.102791
v -71.133934 -144.923721 0.102794
v -115.440933 -125.929413 -0.097530
v -116.995941 -125.803940 -0.097531
v -118.468933 -125.441612 -0.097537
v -119.840942 -124.861450 -0.097547
v -121.093933 -124.082573 -0.097561
v -122.206947 -123.125038 -0.097578
v -123.160934 -122.008888 -0.097599
v -123.935928 -120.751236 -0.097624
v -124.513947 -119.374138 -0.097650
v -124.874954 -117.895660 -0.097679
v -76.249939 -129.384186 0.102491
v -76.063942 -130.145996 0.102506
v -75.999939 -130.948975 0.102522
v -75.999931 -139.166428 0.102685
v -88.022942 -125.929398 0.102436
v -88.022942 -126.007698 0.102437
v -123.935928 -120.751228 0.102374
v -123.160934 -122.008881 0.102399
v -122.206947 -123.125031 0.102420
v -119.840942 -124.861443 0.102451
v -118.468933 -125.441605 0.102461
v -116.995941 -125.803932 0.102467
v -115.440933 -125.929405 0.102468
v -75.923935 -140.114929 0.102704
usemtl Material.001_0
f 1 2 3
f 1 3 4
f 18 1 4
f 18 4 124
f 19 18 124
f 19 124 122
f 20 19 122
f 20 122 118
f 21 20 118
f 21 118 114
f 22 21 114
f 22 114 110
f 23 22 110
f 23 110 111
f 23 111 34
f 17 36 50
f 15 17 50
f 15 50 47
f 16 15 47
f 16 47 44
f 2 16 44
f 70 74 71
f 62 70 71
f 69 68 75
f 69 75 74
f 35 86 83
f 67 35 83
f 35 34 86
f 67 83 80
f 68 67 80
f 68 80 75
f 60 62 63
f 60 63 61
f 55 60 61
f 55 61 56
f 53 55 56
f 53 56 54
f 51 53 54
f 51 33 52
f 32 52 33
f 32 33 30
f 32 30 31
f 120 116 121
f 125 120 121
f 125 121 126
f 128 125 126
f 128 126 129
f 128 129 27
f 128 27 26
f 130 127 95
f 130 95 100
f 6 130 100
f 6 100 7
f 5 6 7
f 5 7 8
f 24 5 8
f 24 8 25
f 30 24 25
f 106 107 108
f 106 108 109
f 115 106 109
f 115 109 116
f 76 77 78
f 76 78 79
f 91 97 92
f 89 91 92
f 96 98 99
f 96 99 97
f 165 136 179
f 165 179 166
f 168 167 178
f 168 178 177
f 169 168 177
f 169 177 65
f 170 169 65
f 170 65 64
f 66 170 64
f 66 57 170
f 58 57 66
f 57 58 59
f 163 180 164
f 164 180 136
f 163 181 180
f 162 181 163
f 162 182 181
f 175 183 135
f 175 135 138
f 175 138 176
f 107 176 138
f 161 183 182
f 161 182 162
f 161 135 183
f 98 59 58
f 167 166 179
f 164 136 165
f 167 179 178
f 98 58 99
f 87 89 90
f 87 90 88
f 84 87 88
f 84 88 85
f 81 84 85
f 81 85 82
f 78 81 82
f 91 96 97
f 89 92 90
f 36 76 103
f 78 82 79
f 108 107 138
f 123 93 94
f 127 123 94
f 123 119 93
f 119 113 93
f 119 112 113
f 112 105 113
f 104 102 105
f 104 101 102
f 102 101 37
f 38 37 101
f 37 38 39
f 37 39 40
f 45 42 41
f 41 42 43
f 43 42 157
f 43 157 156
f 43 156 145
f 143 154 142
f 142 154 152
f 142 152 144
f 144 152 146
f 172 139 140
f 172 140 173
f 39 49 48
f 48 49 46
f 146 153 160
f 146 160 148
f 148 160 159
f 148 159 147
f 147 158 149
f 149 158 133
f 134 133 158
f 13 132 14
f 10 13 14
f 133 132 131
f 9 10 11
f 9 11 12
f 151 9 12
f 151 12 184
f 151 184 174
f 150 151 174
f 140 150 174
f 13 131 132
f 10 14 11
f 133 134 132
f 147 159 158
f 140 174 173
f 171 139 172
f 171 137 139
f 29 137 171
f 29 28 137
f 26 28 29
f 146 152 153
f 143 155 154
f 145 155 143
f 145 156 155
f 45 46 42
f 48 46 45
f 39 48 40
f 112 104 105
f 127 94 95
f 26 27 28
f 120 115 116
f 36 77 76
f 30 25 31
f 51 52 53
f 70 69 74
f 62 71 63
f 103 50 36
f 86 34 111
f 2 44 3
vt -0.000000 0.964465
vt 0.000000 0.106167
vt 0.961764 1.000000
vt 0.000500 0.100387
vt 0.001944 0.094911
vt 0.004256 0.089810
vt 0.007360 0.085152
vt 0.011176 0.081019
vt 0.015628 0.077472
vt 0.020636 0.074587
vt 0.026124 0.072439
vt 0.032020 0.071097
vt 0.038236 0.070632
vt 0.176304 0.070632
vt 0.204000 0.081784
vt 0.179508 0.070372
vt 0.182544 0.069621
vt 0.185372 0.068424
vt 0.187952 0.066833
vt 0.190244 0.064888
vt 0.192208 0.062643
vt 0.193808 0.060138
vt 0.195000 0.057420
vt 0.195744 0.054539
vt 0.196000 0.051543
vt 0.204000 0.007435
vt 0.196000 0.021606
vt 0.196304 0.018093
vt 0.197180 0.014762
vt 0.198588 0.011662
vt 0.200476 0.008829
vt 0.202796 0.006316
vt 0.205500 0.004160
vt 0.208548 0.002405
vt 0.211884 0.001097
vt 0.215468 0.000283
vt 0.219248 0.000000
vt 0.792000 0.007435
vt 0.780752 0.000000
vt 0.784536 0.000283
vt 0.788116 0.001097
vt 0.791456 0.002405
vt 0.794500 0.004160
vt 0.797208 0.006316
vt 0.799528 0.008829
vt 0.801412 0.011662
vt 0.802820 0.014762
vt 0.803696 0.018093
vt 0.804000 0.021606
vt 0.804000 0.052041
vt 0.792000 0.081784
vt 0.967984 0.999535
vt 0.814628 0.068305
vt 0.812048 0.066818
vt 0.809756 0.064993
vt 0.807788 0.062863
vt 0.806192 0.060465
vt 0.805000 0.057837
vt 0.804256 0.055015
vt 0.817456 0.069413
vt 0.820488 0.070104
vt 0.823692 0.070342
vt 0.852092 0.070632
vt 0.852092 0.070342
vt 0.973876 0.998193
vt 0.979364 0.996045
vt 0.984376 0.993164
vt 0.988828 0.989617
vt 0.992644 0.985480
vt 0.995744 0.980822
vt 0.998056 0.975721
vt 0.999500 0.970245
vt 1.000000 0.964465
vt 1.000000 0.106167
vt 0.961764 0.070632
vt 0.967984 0.071097
vt 0.973876 0.072439
vt 0.979364 0.074587
vt 0.984376 0.077472
vt 0.988828 0.081019
vt 0.992644 0.085152
vt 0.995744 0.089810
vt 0.998056 0.094911
vt 0.999500 0.100387
vt 0.038236 1.000000
vt 0.000500 0.970245
vt 0.001944 0.975721
vt 0.004256 0.980821
vt 0.007360 0.985479
vt 0.011176 0.989617
vt 0.015628 0.993164
vt 0.020636 0.996045
vt 0.026124 0.998193
vt 0.032020 0.999535
usemtl Mat_0
f 23/1 34/2 36/3
f 17/85 23/1 36/3
f 16/93 2/92 17/85
f 62/9 36/3 70/8
f 70/8 36/3 69/7
f 69/7 36/3 68/6
f 67/5 36/3 35/4
f 68/6 36/3 67/5
f 60/10 36/3 62/9
f 32/14 31/16 72/15
f 32/14 72/15 36/3
f 72/15 73/51 36/3
f 77/52 36/3 73/51
f 77/52 73/51 121/53
f 116/60 77/52 121/53
f 77/52 109/61 108/62
f 108/62 135/63 77/52
f 77/52 135/63 78/65
f 89/69 135/63 91/70
f 91/70 135/63 96/71
f 96/71 135/63 98/72
f 57/74 165/79 166/80
f 57/74 166/80 167/81
f 168/82 57/74 167/81
f 57/74 59/73 135/63
f 135/63 161/75 57/74
f 161/75 162/76 57/74
f 162/76 163/77 57/74
f 57/74 163/77 164/78
f 170/84 57/74 169/83
f 169/83 57/74 168/82
f 57/74 164/78 165/79
f 59/73 98/72 135/63
f 87/68 135/63 89/69
f 81/66 135/63 84/67
f 84/67 135/63 87/68
f 78/65 135/63 81/66
f 138/64 135/63 108/62
f 25/17 8/18 72/15
f 7/19 72/15 8/18
f 7/19 100/20 72/15
f 95/21 72/15 100/20
f 95/21 94/22 72/15
f 93/23 72/15 94/22
f 105/25 72/15 113/24
f 72/15 105/25 117/26
f 102/27 117/26 105/25
f 117/26 37/28 40/29
f 117/26 40/29 48/30
f 117/26 48/30 45/31
f 41/32 117/26 45/31
f 43/33 145/34 117/26
f 145/34 143/35 117/26
f 142/36 117/26 143/35
f 146/39 141/38 144/37
f 117/26 144/37 141/38
f 141/38 73/51 117/26
f 141/38 140/50 73/51
f 139/59 73/51 140/50
f 147/41 141/38 148/40
f 149/42 141/38 147/41
f 10/46 141/38 13/45
f 131/44 13/45 141/38
f 133/43 131/44 141/38
f 9/47 141/38 10/46
f 150/49 141/38 151/48
f 151/48 141/38 9/47
f 133/43 141/38 149/42
f 137/58 28/57 73/51
f 28/57 27/56 73/51
f 139/59 137/58 73/51
f 140/50 141/38 150/49
f 146/39 148/40 141/38
f 144/37 117/26 142/36
f 43/33 117/26 41/32
f 117/26 102/27 37/28
f 93/23 113/24 72/15
f 27/56 129/55 73/51
f 129/55 126/54 73/51
f 77/52 116/60 109/61
f 126/54 121/53 73/51
f 72/15 117/26 73/51
f 25/17 72/15 31/16
f 52/13 32/14 36/3
f 53/12 52/13 36/3
f 55/11 53/12 36/3
f 55/11 36/3 60/10
f 15/94 16/93 17/85
f 34/2 35/4 36/3
f 17/85 22/86 23/1
f 17/85 21/87 22/86
f 17/85 20/88 21/87
f 17/85 19/89 20/88
f 17/85 18/90 19/89
f 17/85 1/91 18/90
f 2/92 1/91 17/85
vt 0.992640 0.085152
vt 0.038236 1.000000
vt 0.015624 0.077472
vt 0.995744 0.980822
vt 0.979364 0.996045
vt 0.967980 0.999535
vt 0.973876 0.998193
vt 0.961764 1.000000
vt 0.988824 0.989617
vt 0.992640 0.985480
vt 0.984372 0.993164
vt 1.000000 0.106167
vt 0.998056 0.094911
vt 0.995744 0.089810
vt 0.999500 0.100387
vt 0.999500 0.970245
vt 1.000000 0.964465
vt 0.998056 0.975721
vt 0.001944 0.975721
vt 0.015624 0.993164
vt 0.026124 0.998193
vt 0.032016 0.999535
vt 0.020636 0.996045
vt 0.007356 0.985479
vt 0.011172 0.989617
vt 0.004256 0.980821
vt 0.001944 0.094911
vt -0.000000 0.964465
vt 0.000500 0.970245
vt 0.000000 0.106167
vt 0.000500 0.100387
vt 0.007356 0.085152
vt 0.004256 0.089810
vt 0.011172 0.081019
vt 0.147908 0.070632
vt 0.026124 0.072439
vt 0.020636 0.074587
vt 0.032016 0.071097
vt 0.038236 0.070632
vt 0.973876 0.072439
vt 0.823696 0.070632
vt 0.176308 0.070342
vt 0.147908 0.070342
vt 0.820492 0.070372
vt 0.179512 0.070104
vt 0.817456 0.069621
vt 0.182544 0.069413
vt 0.814628 0.068424
vt 0.185372 0.068305
vt 0.812048 0.066833
vt 0.187952 0.066818
vt 0.809756 0.064889
vt 0.190244 0.064993
vt 0.807792 0.062643
vt 0.192212 0.062862
vt 0.806192 0.060138
vt 0.193808 0.060465
vt 0.805000 0.057420
vt 0.195000 0.057836
vt 0.804256 0.054539
vt 0.195744 0.055015
vt 0.794500 0.004160
vt 0.196000 0.052041
vt 0.208544 0.002405
vt 0.198588 0.011662
vt 0.202792 0.006316
vt 0.205500 0.004160
vt 0.200472 0.008829
vt 0.196304 0.018093
vt 0.196000 0.021606
vt 0.197180 0.014762
vt 0.780752 0.000000
vt 0.215464 0.000283
vt 0.211884 0.001097
vt 0.219248 0.000000
vt 0.788116 0.001097
vt 0.784532 0.000283
vt 0.791452 0.002405
vt 0.804000 0.051543
vt 0.802820 0.014762
vt 0.799524 0.008829
vt 0.797204 0.006316
vt 0.801412 0.011662
vt 0.804000 0.021606
vt 0.803696 0.018093
vt 0.967980 0.071097
vt 0.961764 0.070632
vt 0.984372 0.077472
vt 0.979364 0.074587
vt 0.988824 0.081019
usemtl Mat_0
f 3/99 44/101 47/100
f 3/99 47/100 103/96
f 118/98 3/99 103/96
f 74/95 118/98 103/96
f 74/95 103/96 136/97
f 136/97 175/129 74/95
f 175/129 56/134 74/95
f 56/134 63/182 74/95
f 63/182 71/184 74/95
f 74/95 75/108 80/107
f 74/95 80/107 86/106
f 80/107 83/109 86/106
f 33/135 51/181 54/180
f 128/147 26/149 127/148
f 128/147 127/148 130/146
f 106/139 24/140 30/138
f 107/136 106/139 30/138
f 103/96 76/116 79/115
f 103/96 79/115 85/114
f 103/96 85/114 97/113
f 85/114 90/118 97/113
f 90/118 92/120 97/113
f 97/113 99/123 58/122
f 97/113 58/122 65/121
f 97/113 65/121 136/97
f 65/121 178/126 136/97
f 178/126 179/128 136/97
f 136/97 180/131 181/130
f 181/130 182/132 175/129
f 182/132 183/133 175/129
f 175/129 176/137 107/136
f 175/129 107/136 33/135
f 64/125 65/121 66/124
f 65/121 177/127 178/126
f 58/122 66/124 65/121
f 85/114 88/119 90/118
f 79/115 82/117 85/114
f 106/139 115/141 24/140
f 115/141 5/142 24/140
f 115/141 120/143 5/142
f 120/143 6/144 5/142
f 125/145 130/146 6/144
f 39/174 38/179 101/178
f 172/155 173/157 157/156
f 172/155 157/156 112/154
f 171/153 172/155 112/154
f 157/156 104/173 112/154
f 157/156 39/174 104/173
f 157/156 46/175 39/174
f 46/175 49/177 39/174
f 173/157 158/158 157/156
f 158/158 152/166 157/156
f 152/166 155/170 157/156
f 158/158 160/167 152/166
f 160/167 153/169 152/166
f 132/160 134/161 158/158
f 11/159 132/160 158/158
f 11/159 14/162 132/160
f 173/157 174/164 184/163
f 173/157 184/163 11/159
f 184/163 12/165 11/159
f 158/158 159/168 160/167
f 173/157 11/159 158/158
f 29/151 171/153 119/152
f 26/149 29/151 123/150
f 152/166 154/171 155/170
f 155/170 156/172 157/156
f 157/156 42/176 46/175
f 39/174 101/178 104/173
f 171/153 112/154 119/152
f 29/151 119/152 123/150
f 26/149 123/150 127/148
f 125/145 128/147 130/146
f 120/143 125/145 6/144
f 107/136 30/138 33/135
f 33/135 54/180 56/134
f 56/134 61/183 63/182
f 175/129 33/135 56/134
f 136/97 181/130 175/129
f 103/96 97/113 136/97
f 74/95 86/106 118/98
f 86/106 110/110 118/98
f 118/98 124/103 3/99
f 47/100 50/102 103/96
f 86/106 111/111 110/110
f 110/110 114/112 118/98
f 118/98 122/104 124/103
f 124/103 4/105 3/99

File diff suppressed because it is too large Load Diff

View File

@ -311,10 +311,11 @@ Item
{
id: warnings
height: visible ? childrenRect.height : 0
visible: buildplateCompatibilityError || buildplateCompatibilityWarning
visible: buildplateCompatibilityError || buildplateCompatibilityWarning || coreCompatibilityWarning
property bool buildplateCompatibilityError: !Cura.MachineManager.variantBuildplateCompatible && !Cura.MachineManager.variantBuildplateUsable
property bool buildplateCompatibilityWarning: Cura.MachineManager.variantBuildplateUsable
property bool coreCompatibilityWarning: !Cura.MachineManager.variantCoreUsableForFactor4
// This is a space holder aligning the warning messages.
UM.Label
@ -336,7 +337,7 @@ Item
width: UM.Theme.getSize("section_icon").width
height: UM.Theme.getSize("section_icon").height
color: UM.Theme.getColor("material_compatibility_warning")
visible: !Cura.MachineManager.isCurrentSetupSupported || warnings.buildplateCompatibilityError || warnings.buildplateCompatibilityWarning
visible: !Cura.MachineManager.isCurrentSetupSupported || warnings.buildplateCompatibilityError || warnings.buildplateCompatibilityWarning || warnings.coreCompatibilityWarning
}
UM.Label
@ -349,6 +350,17 @@ Item
visible: CuraSDKVersion == "dev" ? false : warnings.buildplateCompatibilityError || warnings.buildplateCompatibilityWarning
wrapMode: Text.WordWrap
}
UM.Label
{
id: coreCompatibilityLabel
anchors.left: warningImage.right
anchors.leftMargin: UM.Theme.getSize("default_margin").width
width: selectors.controlWidth - warningImage.width - UM.Theme.getSize("default_margin").width
text: catalog.i18nc("@label", "Combination not recommended. Load BB core to slot 1 (left) for better reliability.")
visible: warnings.coreCompatibilityWarning
wrapMode: Text.WordWrap
}
}
}
}

View File

@ -129,7 +129,7 @@ ScrollView
{
id: bedTemperature
containerStack: Cura.MachineManager.activeMachine
key: "material_bed_temperature"
key: "material_bed_temperature_layer_0"
watchedProperties: ["value", "minimum_value", "maximum_value", "resolve"]
storeIndex: 0
}

View File

@ -22,7 +22,7 @@ Item
{
id: extruderTemperature
containerStackId: Cura.ExtruderManager.extruderIds[position]
key: "material_print_temperature"
key: "material_print_temperature_layer_0"
watchedProperties: ["value", "minimum_value", "maximum_value", "resolve"]
storeIndex: 0
}

View File

@ -15,7 +15,7 @@ import Cura 1.1 as Cura
Item
{
id: base
property bool hasSearchFilter: false
// The currently selected machine item in the local machine list.
property var currentItem: machineList.currentIndex >= 0 ? machineList.model.getItem(machineList.currentIndex) : null
// The currently active (expanded) section/category, where section/category is the grouping of local machine items.
@ -32,7 +32,7 @@ Item
onCurrentItemChanged:
{
printerName = currentItem == null ? "" : currentItem.name
printerName = currentItem && currentItem.name? currentItem.name: ""
}
function updateCurrentItemUponSectionChange(section)
@ -43,25 +43,28 @@ Item
const item = machineList.model.getItem(i);
if (item.section == section)
{
machineList.currentIndex = i;
updateCurrentItem(i)
break;
}
}
}
function getMachineName()
function updateCurrentItem(index)
{
return machineList.model.getItem(machineList.currentIndex) != undefined ? machineList.model.getItem(machineList.currentIndex).name : "";
}
function getMachineMetaDataEntry(key)
{
var metadata = machineList.model.getItem(machineList.currentIndex) != undefined ? machineList.model.getItem(machineList.currentIndex).metadata : undefined;
if (metadata)
machineList.currentIndex = index;
currentItem = machineList.model.getItem(index);
if (currentItem && currentItem.name)
{
return metadata[key];
machineName.text = currentItem.name
manufacturer.text = currentItem.metadata["manufacturer"]
author.text = currentItem.metadata["author"]
}
else
{
machineName.text = "No printers Found"
manufacturer.text = ""
author.text = ""
}
return undefined;
}
Component.onCompleted:
@ -78,98 +81,204 @@ Item
id: localPrinterSelectionItem
anchors.fill: parent
//Selecting a local printer to add from this list.
ListView
Column
{
id: machineList
id: root
width: Math.floor(parent.width * 0.48)
height: parent.height
clip: true
ScrollBar.vertical: UM.ScrollBar {}
model: UM.DefinitionContainersModel
Item
{
id: machineDefinitionsModel
filter: { "visible": true }
sectionProperty: "manufacturer"
preferredSections: preferredCategories
}
section.property: "section"
section.delegate: Button
{
id: button
width: machineList.width
height: UM.Theme.getSize("action_button").height
text: section
property bool isActive: base.currentSections.has(section)
background: Rectangle
width: root.width
height: filter.height
Cura.TextField
{
anchors.fill: parent
color: isActive ? UM.Theme.getColor("setting_control_highlight") : "transparent"
}
contentItem: Item
{
width: childrenRect.width
height: UM.Theme.getSize("action_button").height
id: filter
width: parent.width
implicitHeight: parent.height
background: Rectangle {
id: background
color: UM.Theme.getColor("main_background")
radius: UM.Theme.getSize("default_radius").width
border.color: UM.Theme.getColor("primary_button")
}
height: UM.Theme.getSize("small_button_icon").height * 2
placeholderText: catalog.i18nc("@label:textbox", "Search Printer")
placeholderTextColor: UM.Theme.getColor("primary_button")
font: UM.Theme.getFont("medium_italic")
leftPadding: searchIcon.width + UM.Theme.getSize("default_margin").width * 2
UM.ColorImage
{
id: arrow
anchors.left: parent.left
width: UM.Theme.getSize("standard_arrow").width
height: UM.Theme.getSize("standard_arrow").height
id: searchIcon
source: UM.Theme.getIcon("Magnifier")
anchors
{
verticalCenter: parent.verticalCenter
left: parent.left
leftMargin: UM.Theme.getSize("default_margin").width
}
height: UM.Theme.getSize("small_button_icon").height
width: height
color: UM.Theme.getColor("text")
source: isActive ? UM.Theme.getIcon("ChevronSingleDown") : UM.Theme.getIcon("ChevronSingleRight")
}
UM.Label
onTextChanged: editingFinished()
onEditingFinished:
{
id: label
anchors.left: arrow.right
anchors.leftMargin: UM.Theme.getSize("default_margin").width
text: button.text
font: UM.Theme.getFont("default_bold")
machineDefinitionsModel.filter = {"name" : "*" + text.toLowerCase() + "*", "visible": true}
base.hasSearchFilter = (text.length > 0)
updateDefinitionModel()
}
Keys.onEscapePressed: filter.text = ""
function updateDefinitionModel()
{
if (base.hasSearchFilter)
{
base.currentSections.clear()
for (var i = 0; i < machineDefinitionsModel.count; i++)
{
var sectionexpanded = machineDefinitionsModel.getItem(i)["section"]
if (!base.currentSections.has(sectionexpanded))
{
base.currentSections.add(sectionexpanded);
}
}
base.updateCurrentItem(0)
// Trigger update on base.currentSections
base.currentSections = base.currentSections;
}
else
{
const initialSection = "Ultimaker B.V.";
base.currentSections.clear();
base.currentSections.add(initialSection);
updateCurrentItemUponSectionChange(initialSection);
updateCurrentItem(0)
// Trigger update on base.currentSections
base.currentSections = base.currentSections;
}
}
}
onClicked:
UM.SimpleButton
{
if (base.currentSections.has(section))
id: clearFilterButton
iconSource: UM.Theme.getIcon("Cancel")
visible: base.hasSearchFilter
height: Math.round(filter.height * 0.5)
width: visible ? height : 0
anchors.verticalCenter: filter.verticalCenter
anchors.right: filter.right
anchors.rightMargin: UM.Theme.getSize("default_margin").width
color: UM.Theme.getColor("setting_control_button")
hoverColor: UM.Theme.getColor("setting_control_button_hover")
onClicked:
{
base.currentSections.delete(section);
filter.text = ""
filter.forceActiveFocus()
}
else
{
base.currentSections.add(section);
base.updateCurrentItemUponSectionChange(section);
}
// Trigger update on base.currentSections
base.currentSections = base.currentSections;
}
}
delegate: Cura.RadioButton
//Selecting a local printer to add from this list.
ListView
{
id: radioButton
anchors
id: machineList
width: root.width
height: root.height - filter.height
clip: true
ScrollBar.vertical: UM.ScrollBar {}
model: UM.DefinitionContainersModel
{
left: parent !== null ? parent.left : undefined
leftMargin: UM.Theme.getSize("standard_list_lineheight").width
right: parent !== null ? parent.right : undefined
rightMargin: UM.Theme.getSize("default_margin").width
id: machineDefinitionsModel
filter: { "visible": true }
sectionProperty: "manufacturer"
preferredSections: preferredCategories
}
height: visible ? UM.Theme.getSize("standard_list_lineheight").height : 0 //This causes the scrollbar to vary in length due to QTBUG-76830.
checked: machineList.currentIndex == index
text: name
visible: base.currentSections.has(section)
onClicked: machineList.currentIndex = index
section.property: "section"
section.delegate: Button
{
id: button
width: machineList.width
height: UM.Theme.getSize("action_button").height
text: section
property bool isActive: base.currentSections.has(section)
background: Rectangle
{
anchors.fill: parent
color: isActive ? UM.Theme.getColor("setting_control_highlight") : "transparent"
}
contentItem: Item
{
width: childrenRect.width
height: UM.Theme.getSize("action_button").height
UM.ColorImage
{
id: arrow
anchors.left: parent.left
width: UM.Theme.getSize("standard_arrow").width
height: UM.Theme.getSize("standard_arrow").height
color: UM.Theme.getColor("text")
source: isActive ? UM.Theme.getIcon("ChevronSingleDown") : UM.Theme.getIcon("ChevronSingleRight")
}
UM.Label
{
id: label
anchors.left: arrow.right
anchors.leftMargin: UM.Theme.getSize("default_margin").width
text: button.text
font: UM.Theme.getFont("default_bold")
}
}
onClicked:
{
if (base.currentSections.has(section))
{
base.currentSections.delete(section);
}
else
{
base.currentSections.add(section);
base.updateCurrentItemUponSectionChange(section);
}
// Trigger update on base.currentSections
base.currentSections = base.currentSections;
}
}
delegate: Cura.RadioButton
{
id: radioButton
anchors
{
left: parent !== null ? parent.left : undefined
leftMargin: UM.Theme.getSize("standard_list_lineheight").width
right: parent !== null ? parent.right : undefined
rightMargin: UM.Theme.getSize("default_margin").width
}
height: visible ? UM.Theme.getSize("standard_list_lineheight").height : 0 //This causes the scrollbar to vary in length due to QTBUG-76830.
checked: machineList.currentIndex == index
text: name
visible: base.currentSections.has(section)
onClicked: base.updateCurrentItem(index)
}
}
}
@ -193,8 +302,8 @@ Item
UM.Label
{
id: machineName
width: parent.width - (2 * UM.Theme.getSize("default_margin").width)
text: base.getMachineName()
color: UM.Theme.getColor("primary_button")
font: UM.Theme.getFont("huge")
elide: Text.ElideRight
@ -215,7 +324,7 @@ Item
}
UM.Label
{
text: base.getMachineMetaDataEntry("manufacturer")
id: manufacturer
width: parent.width - manufacturerLabel.width
wrapMode: Text.WordWrap
}
@ -226,7 +335,7 @@ Item
}
UM.Label
{
text: base.getMachineMetaDataEntry("author")
id: author
width: parent.width - profileAuthorLabel.width
wrapMode: Text.WordWrap
}

View File

@ -0,0 +1,76 @@
[general]
definition = ankermake_m5c
name = Fast
version = 4
[metadata]
global_quality = True
quality_type = fast
setting_version = 23
type = quality
weight = -2
[values]
acceleration_enabled = true
acceleration_infill = 5000
acceleration_layer_0 = 2500
acceleration_prime_tower = 5000
acceleration_print = 5000
acceleration_print_layer_0 = 2500
acceleration_roofing = 2500
acceleration_skirt_brim = 2500
acceleration_support = 5000
acceleration_support_bottom = 5000
acceleration_support_infill = 5000
acceleration_support_interface = 5000
acceleration_support_roof = 5000
acceleration_topbottom = 2500
acceleration_travel = 5000
acceleration_travel_layer_0 = 2500
acceleration_wall = 5000
acceleration_wall_0 = 3000
acceleration_wall_x = 5000
jerk_enabled = true
jerk_infill = 15
jerk_layer_0 = 15
jerk_prime_tower = 15
jerk_print = 15
jerk_print_layer_0 = 15
jerk_roofing = 15
jerk_skirt_brim = 15
jerk_support = 15
jerk_support_bottom = 15
jerk_support_infill = 15
jerk_support_interface = 15
jerk_support_roof = 15
jerk_topbottom = 15
jerk_travel = 15
jerk_travel_layer_0 = 15
jerk_wall = 15
jerk_wall_0 = 15
jerk_wall_x = 15
layer_height = 0.25
layer_height_0 = 0.14
skirt_brim_speed = 50
speed_equalize_flow_enabled = false
speed_equalize_flow_max = 300
speed_infill = 270
speed_layer_0 = 50
speed_prime_tower = 500
speed_print = 500
speed_print_layer_0 = 50
speed_roofing = 150
speed_slowdown_layers = 2
speed_support = 250
speed_support_bottom = 166.667
speed_support_infill = 250
speed_support_interface = 166.667
speed_support_roof = 166.667
speed_topbottom = 150
speed_travel = 500
speed_travel_layer_0 = 150
speed_wall = 250
speed_wall_0 = 150
speed_wall_x = 250
speed_z_hop = 10

View File

@ -0,0 +1,94 @@
[general]
definition = ankermake_m5c
name = Normal
version = 4
[metadata]
global_quality = True
quality_type = normal
setting_version = 23
type = quality
weight = 0
[values]
acceleration_infill = 2500
acceleration_layer_0 = 2500
acceleration_prime_tower = 2500
acceleration_print = 2500
acceleration_print_layer_0 = 2500
acceleration_roofing = 2500
acceleration_skirt_brim = 2500
acceleration_support = 2500
acceleration_support_bottom = 2500
acceleration_support_infill = 2500
acceleration_support_interface = 2500
acceleration_support_roof = 2500
acceleration_topbottom = 2500
acceleration_travel = 2500
acceleration_travel_layer_0 = 2500
acceleration_wall = 2500
acceleration_wall_0 = 2500
acceleration_wall_x = 2500
bottom_layers = 4
infill_line_width = 0.40
initial_layer_line_width_factor = 100
jerk_enabled = true
jerk_infill = 10
jerk_layer_0 = 10
jerk_prime_tower = 10
jerk_print = 10
jerk_print_layer_0 = 10
jerk_roofing = 10
jerk_skirt_brim = 10
jerk_support = 10
jerk_support_bottom = 10
jerk_support_infill = 10
jerk_support_interface = 10
jerk_support_roof = 10
jerk_topbottom = 10
jerk_travel = 10
jerk_travel_layer_0 = 10
jerk_wall = 10
jerk_wall_0 = 8
jerk_wall_x = 8
layer_height = 0.2
layer_height_0 = 0.14
line_width = 0.40
min_wall_line_width = 0.10
prime_tower_line_width = 0.40
skin_line_width = 0.40
skirt_brim_line_width = 0.40
skirt_brim_speed = 50
speed_infill = 250
speed_layer_0 = 50
speed_prime_tower = 250
speed_print = 250
speed_print_layer_0 = 50
speed_roofing = 150
speed_support = 150
speed_support_bottom = 100
speed_support_infill = 150
speed_support_interface = 100
speed_support_roof = 100
speed_topbottom = 150
speed_travel = 250
speed_travel_layer_0 = 50
speed_wall = 150
speed_wall_0 = 150
speed_wall_x = 250
support_bottom_line_width = 0.40
support_interface_line_width = 0.40
support_line_width = 0.40
support_roof_line_width = 0.40
top_layers = 4
wall_0_extruder_nr = -1
wall_0_inset = 0
wall_0_wipe_dist = 0.20
wall_extruder_nr = -1
wall_line_count = 3
wall_line_width = 0.40
wall_line_width_0 = 0.44
wall_line_width_x = 0.40
wall_thickness = 1.24
wall_x_extruder_nr = -1

View File

@ -0,0 +1,98 @@
[general]
definition = ankermake_m5c
name = Precision
version = 4
[metadata]
global_quality = True
quality_type = precision
setting_version = 23
type = quality
weight = 1
[values]
acceleration_enabled = true
acceleration_infill = 4000
acceleration_layer_0 = 2500
acceleration_prime_tower = 4000
acceleration_print = 4000
acceleration_print_layer_0 = 2500
acceleration_roofing = 1000
acceleration_skirt_brim = 2500
acceleration_support = 4000
acceleration_support_bottom = 4000
acceleration_support_infill = 4000
acceleration_support_interface = 4000
acceleration_support_roof = 4000
acceleration_topbottom = 2500
acceleration_travel = 4000
acceleration_travel_layer_0 = 2500
acceleration_wall = 4000
acceleration_wall_0 = 3000
acceleration_wall_x = 3000
bottom_layers = 3
infill_line_width = 0.30
initial_layer_line_width_factor = 100
jerk_enabled = true
jerk_infill = 8
jerk_layer_0 = 8
jerk_prime_tower = 8
jerk_print = 8
jerk_print_layer_0 = 8
jerk_roofing = 8
jerk_skirt_brim = 8
jerk_support = 8
jerk_support_bottom = 8
jerk_support_infill = 8
jerk_support_interface = 8
jerk_support_roof = 8
jerk_topbottom = 8
jerk_travel = 8
jerk_travel_layer_0 = 8
jerk_wall = 8
jerk_wall_0 = 8
jerk_wall_x = 8
layer_height = 0.16
layer_height_0 = 0.14
line_width = 0.40
prime_tower_line_width = 0.40
skin_line_width = 0.40
skirt_brim_line_width = 0.40
skirt_brim_speed = 50
speed_equalize_flow_enabled = false
speed_equalize_flow_max = 300
speed_infill = 250
speed_layer_0 = 150
speed_prime_tower = 250
speed_print = 500
speed_print_layer_0 = 50
speed_roofing = 50
speed_slowdown_layers = 2
speed_support = 150
speed_support_bottom = 100
speed_support_infill = 150
speed_support_interface = 100
speed_support_roof = 100
speed_topbottom = 150
speed_travel = 500
speed_travel_layer_0 = 150
speed_wall = 250
speed_wall_0 = 150
speed_wall_x = 200
speed_z_hop = 10
support_bottom_line_width = 0.40
support_interface_line_width = 0.40
support_line_width = 0.40
support_roof_line_width = 0.40
top_layers = 5
wall_0_extruder_nr = -1
wall_0_inset = 0
wall_0_wipe_dist = 0.20
wall_extruder_nr = -1
wall_line_count = 2
wall_line_width = 0.40
wall_line_width_0 = 0.40
wall_line_width_x = 0.40
wall_thickness = 0.84
wall_x_extruder_nr = -1

View File

@ -0,0 +1,20 @@
[general]
definition = ultimaker_factor4
name = Fine
version = 4
[metadata]
material = generic_petg
quality_type = normal
setting_version = 23
type = quality
variant = AA 0.25
weight = 0
[values]
_plugin__curaenginegradualflow__0_1_0__gradual_flow_discretisation_step_size = 0.1
_plugin__curaenginegradualflow__0_1_0__gradual_flow_enabled = True
_plugin__curaenginegradualflow__0_1_0__max_flow_acceleration = 1
inset_direction = outside_in
skin_material_flow = =material_flow * 0.965

View File

@ -0,0 +1,20 @@
[general]
definition = ultimaker_factor4
name = Fine
version = 4
[metadata]
material = generic_pla
quality_type = normal
setting_version = 23
type = quality
variant = AA 0.25
weight = 0
[values]
_plugin__curaenginegradualflow__0_1_0__gradual_flow_discretisation_step_size = 0.1
_plugin__curaenginegradualflow__0_1_0__gradual_flow_enabled = True
_plugin__curaenginegradualflow__0_1_0__max_flow_acceleration = 1
inset_direction = outside_in
skin_material_flow = =material_flow * 0.93

View File

@ -0,0 +1,20 @@
[general]
definition = ultimaker_factor4
name = Fine
version = 4
[metadata]
material = generic_tough_pla
quality_type = normal
setting_version = 23
type = quality
variant = AA 0.25
weight = 0
[values]
_plugin__curaenginegradualflow__0_1_0__gradual_flow_discretisation_step_size = 0.1
_plugin__curaenginegradualflow__0_1_0__gradual_flow_enabled = True
_plugin__curaenginegradualflow__0_1_0__max_flow_acceleration = 1
inset_direction = outside_in
skin_material_flow = =material_flow * 0.965

View File

@ -0,0 +1,21 @@
[general]
definition = ultimaker_factor4
name = Fast
version = 4
[metadata]
material = generic_abs
quality_type = draft
setting_version = 23
type = quality
variant = AA 0.4
weight = -2
[values]
_plugin__curaenginegradualflow__0_1_0__gradual_flow_discretisation_step_size = 0.1
_plugin__curaenginegradualflow__0_1_0__gradual_flow_enabled = True
_plugin__curaenginegradualflow__0_1_0__max_flow_acceleration = 1
inset_direction = outside_in
skin_material_flow = =material_flow * 0.93
speed_print = 60

View File

@ -0,0 +1,30 @@
[general]
definition = ultimaker_factor4
name = Fine
version = 4
[metadata]
material = generic_bam
quality_type = normal
setting_version = 23
type = quality
variant = AA 0.4
weight = 0
[values]
_plugin__curaenginegradualflow__0_1_0__gradual_flow_discretisation_step_size = 0.1
_plugin__curaenginegradualflow__0_1_0__gradual_flow_enabled = True
_plugin__curaenginegradualflow__0_1_0__max_flow_acceleration = 1
brim_replaces_support = False
machine_nozzle_heat_up_speed = 1.56
material_print_temperature = =default_material_print_temperature - 5
prime_tower_enable = =min(extruderValues('material_surface_energy')) < 100
skin_material_flow = =material_flow * 0.965
speed_print = 60
support_angle = 45
support_bottom_distance = =math.ceil(min(extruderValues('material_adhesion_tendency')) / 2) * layer_height
support_interface_density = =min(extruderValues('material_surface_energy'))
support_interface_enable = True
support_join_distance = 5
support_top_distance = =math.ceil(min(extruderValues('material_adhesion_tendency')) / 1) * layer_height

View File

@ -0,0 +1,29 @@
[general]
definition = ultimaker_factor4
name = Fast
version = 4
[metadata]
material = generic_bam
quality_type = draft
setting_version = 23
type = quality
variant = AA 0.4
weight = -2
[values]
_plugin__curaenginegradualflow__0_1_0__gradual_flow_discretisation_step_size = 0.1
_plugin__curaenginegradualflow__0_1_0__gradual_flow_enabled = True
_plugin__curaenginegradualflow__0_1_0__max_flow_acceleration = 1
brim_replaces_support = False
machine_nozzle_heat_up_speed = 1.56
prime_tower_enable = =min(extruderValues('material_surface_energy')) < 100
skin_material_flow = =material_flow * 0.965
speed_print = 60
support_angle = 45
support_bottom_distance = =math.ceil(min(extruderValues('material_adhesion_tendency')) / 2) * layer_height
support_interface_density = =min(extruderValues('material_surface_energy'))
support_interface_enable = True
support_join_distance = 5
support_top_distance = =math.ceil(min(extruderValues('material_adhesion_tendency')) / 1) * layer_height

View File

@ -0,0 +1,29 @@
[general]
definition = ultimaker_factor4
name = Extra Fast
version = 4
[metadata]
material = generic_bam
quality_type = verydraft
setting_version = 23
type = quality
variant = AA 0.4
weight = -3
[values]
_plugin__curaenginegradualflow__0_1_0__gradual_flow_discretisation_step_size = 0.1
_plugin__curaenginegradualflow__0_1_0__gradual_flow_enabled = True
_plugin__curaenginegradualflow__0_1_0__max_flow_acceleration = 1
brim_replaces_support = False
machine_nozzle_heat_up_speed = 1.56
prime_tower_enable = =min(extruderValues('material_surface_energy')) < 100
skin_material_flow = =material_flow * 0.965
speed_print = 50
support_angle = 45
support_bottom_distance = =math.ceil(min(extruderValues('material_adhesion_tendency')) / 2) * layer_height
support_interface_density = =min(extruderValues('material_surface_energy'))
support_interface_enable = True
support_join_distance = 5
support_top_distance = =math.ceil(min(extruderValues('material_adhesion_tendency')) / 1) * layer_height

View File

@ -0,0 +1,21 @@
[general]
definition = ultimaker_factor4
name = Fast
version = 4
[metadata]
material = generic_cpe_plus
quality_type = draft
setting_version = 23
type = quality
variant = AA 0.4
weight = -2
[values]
_plugin__curaenginegradualflow__0_1_0__gradual_flow_discretisation_step_size = 0.1
_plugin__curaenginegradualflow__0_1_0__gradual_flow_enabled = True
_plugin__curaenginegradualflow__0_1_0__max_flow_acceleration = 1
inset_direction = outside_in
skin_material_flow = =material_flow * 0.93
speed_print = 60

View File

@ -0,0 +1,21 @@
[general]
definition = ultimaker_factor4
name = Fast
version = 4
[metadata]
material = generic_cpe
quality_type = draft
setting_version = 23
type = quality
variant = AA 0.4
weight = -2
[values]
_plugin__curaenginegradualflow__0_1_0__gradual_flow_discretisation_step_size = 0.1
_plugin__curaenginegradualflow__0_1_0__gradual_flow_enabled = True
_plugin__curaenginegradualflow__0_1_0__max_flow_acceleration = 1
inset_direction = outside_in
skin_material_flow = =material_flow * 0.965
speed_print = 60

View File

@ -0,0 +1,21 @@
[general]
definition = ultimaker_factor4
name = Fast
version = 4
[metadata]
material = generic_nylon
quality_type = draft
setting_version = 23
type = quality
variant = AA 0.4
weight = -2
[values]
_plugin__curaenginegradualflow__0_1_0__gradual_flow_discretisation_step_size = 0.1
_plugin__curaenginegradualflow__0_1_0__gradual_flow_enabled = True
_plugin__curaenginegradualflow__0_1_0__max_flow_acceleration = 1
inset_direction = outside_in
skin_material_flow = =material_flow * 0.965
speed_print = 60

View File

@ -0,0 +1,21 @@
[general]
definition = ultimaker_factor4
name = Fast
version = 4
[metadata]
material = generic_pc
quality_type = draft
setting_version = 23
type = quality
variant = AA 0.4
weight = -2
[values]
_plugin__curaenginegradualflow__0_1_0__gradual_flow_discretisation_step_size = 0.1
_plugin__curaenginegradualflow__0_1_0__gradual_flow_enabled = True
_plugin__curaenginegradualflow__0_1_0__max_flow_acceleration = 1
inset_direction = outside_in
skin_material_flow = =material_flow * 0.965
speed_print = 60

View File

@ -0,0 +1,22 @@
[general]
definition = ultimaker_factor4
name = Fine
version = 4
[metadata]
material = generic_petg
quality_type = normal
setting_version = 23
type = quality
variant = AA 0.4
weight = 0
[values]
_plugin__curaenginegradualflow__0_1_0__gradual_flow_discretisation_step_size = 0.1
_plugin__curaenginegradualflow__0_1_0__gradual_flow_enabled = True
_plugin__curaenginegradualflow__0_1_0__max_flow_acceleration = 1
inset_direction = outside_in
material_print_temperature = =default_material_print_temperature - 10
skin_material_flow = =material_flow * 0.965
speed_print = 60

View File

@ -0,0 +1,21 @@
[general]
definition = ultimaker_factor4
name = Fast
version = 4
[metadata]
material = generic_petg
quality_type = draft
setting_version = 23
type = quality
variant = AA 0.4
weight = -2
[values]
_plugin__curaenginegradualflow__0_1_0__gradual_flow_discretisation_step_size = 0.1
_plugin__curaenginegradualflow__0_1_0__gradual_flow_enabled = True
_plugin__curaenginegradualflow__0_1_0__max_flow_acceleration = 1
inset_direction = outside_in
skin_material_flow = =material_flow * 0.965
speed_print = 60

View File

@ -0,0 +1,21 @@
[general]
definition = ultimaker_factor4
name = Extra Fast
version = 4
[metadata]
material = generic_petg
quality_type = verydraft
setting_version = 23
type = quality
variant = AA 0.4
weight = -3
[values]
_plugin__curaenginegradualflow__0_1_0__gradual_flow_discretisation_step_size = 0.1
_plugin__curaenginegradualflow__0_1_0__gradual_flow_enabled = True
_plugin__curaenginegradualflow__0_1_0__max_flow_acceleration = 1
inset_direction = outside_in
skin_material_flow = =material_flow * 0.965
speed_print = 60

View File

@ -0,0 +1,21 @@
[general]
definition = ultimaker_factor4
name = Fine
version = 4
[metadata]
material = generic_pla
quality_type = normal
setting_version = 23
type = quality
variant = AA 0.4
weight = 0
[values]
_plugin__curaenginegradualflow__0_1_0__gradual_flow_discretisation_step_size = 0.1
_plugin__curaenginegradualflow__0_1_0__gradual_flow_enabled = True
_plugin__curaenginegradualflow__0_1_0__max_flow_acceleration = 1
inset_direction = outside_in
skin_material_flow = =material_flow * 0.93
speed_print = 60

View File

@ -0,0 +1,21 @@
[general]
definition = ultimaker_factor4
name = Fast
version = 4
[metadata]
material = generic_pla
quality_type = draft
setting_version = 23
type = quality
variant = AA 0.4
weight = -2
[values]
_plugin__curaenginegradualflow__0_1_0__gradual_flow_discretisation_step_size = 0.1
_plugin__curaenginegradualflow__0_1_0__gradual_flow_enabled = True
_plugin__curaenginegradualflow__0_1_0__max_flow_acceleration = 1
inset_direction = outside_in
skin_material_flow = =material_flow * 0.93
speed_print = 60

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