mirror of
https://git.mirrors.martin98.com/https://github.com/Ultimaker/Cura
synced 2025-06-04 11:14:21 +08:00
Merge branch 'TIme-Lapse' of https://github.com/GregValiant/Cura into TIme-Lapse
This commit is contained in:
commit
35775ce3c8
40
.github/workflows/conan-package-resources.yml
vendored
Normal file
40
.github/workflows/conan-package-resources.yml
vendored
Normal 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
|
13
.github/workflows/conan-package.yml
vendored
13
.github/workflows/conan-package.yml
vendored
@ -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]*'
|
||||
|
||||
|
@ -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
|
||||
|
12
.github/workflows/printer-linter-pr-post.yml
vendored
12
.github/workflows/printer-linter-pr-post.yml
vendored
@ -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:
|
||||
|
@ -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:
|
||||
|
@ -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"
|
||||
|
12
conanfile.py
12
conanfile.py
@ -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"
|
||||
|
@ -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:
|
||||
|
@ -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:
|
||||
|
@ -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)
|
||||
|
@ -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
|
||||
|
@ -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;
|
||||
|
||||
|
BIN
plugins/UM3NetworkPrinting/resources/png/Ultimaker Factor 4.png
Normal file
BIN
plugins/UM3NetworkPrinting/resources/png/Ultimaker Factor 4.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 874 KiB |
@ -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"
|
||||
}
|
||||
|
@ -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",
|
||||
|
@ -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" }
|
||||
]
|
||||
|
@ -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
|
@ -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)]
|
||||
|
@ -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 = {}
|
||||
|
@ -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
|
177
printer-linter/src/printerlinter/linters/formulas.py
Normal file
177
printer-linter/src/printerlinter/linters/formulas.py
Normal 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
|
||||
|
@ -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
|
||||
|
@ -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
64
resources/conanfile.py
Normal 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()
|
246
resources/definitions/ankermake_m5c.def.json
Normal file
246
resources/definitions/ankermake_m5c.def.json
Normal 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 }
|
||||
}
|
||||
}
|
55
resources/definitions/creality_k1max.def.json
Executable file
55
resources/definitions/creality_k1max.def.json
Executable 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 }
|
||||
}
|
||||
}
|
@ -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
|
||||
}
|
||||
}
|
||||
},
|
||||
|
365
resources/definitions/ultimaker_factor4.def.json
Normal file
365
resources/definitions/ultimaker_factor4.def.json
Normal 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" }
|
||||
}
|
||||
}
|
15
resources/extruders/ankermake_m5c_extruder_0.def.json
Normal file
15
resources/extruders/ankermake_m5c_extruder_0.def.json
Normal 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 }
|
||||
}
|
||||
}
|
16
resources/extruders/creality_k1max_extruder_0.def.json
Executable file
16
resources/extruders/creality_k1max_extruder_0.def.json
Executable 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 }
|
||||
}
|
||||
}
|
30
resources/extruders/ultimaker_factor4_extruder_left.def.json
Normal file
30
resources/extruders/ultimaker_factor4_extruder_left.def.json
Normal 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 }
|
||||
}
|
||||
}
|
@ -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 }
|
||||
}
|
||||
}
|
BIN
resources/images/UltimakerFactor4Backplate.png
Normal file
BIN
resources/images/UltimakerFactor4Backplate.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 12 KiB |
BIN
resources/images/ankermake_m5c.png
Normal file
BIN
resources/images/ankermake_m5c.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 517 KiB |
@ -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
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
745
resources/meshes/ankermake_m5c_platform.obj
Normal file
745
resources/meshes/ankermake_m5c_platform.obj
Normal 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
|
||||
|
13023
resources/meshes/ultimaker_factor4_platform.obj
Normal file
13023
resources/meshes/ultimaker_factor4_platform.obj
Normal file
File diff suppressed because it is too large
Load Diff
@ -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
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -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
|
||||
}
|
||||
|
@ -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
|
||||
}
|
||||
|
@ -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
|
||||
}
|
||||
|
76
resources/quality/ankermake_m5c/ankermake_m5c_fast.inst.cfg
Normal file
76
resources/quality/ankermake_m5c/ankermake_m5c_fast.inst.cfg
Normal 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
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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
Loading…
x
Reference in New Issue
Block a user