mirror of
https://git.mirrors.martin98.com/https://github.com/Ultimaker/Cura
synced 2025-08-17 14:25:55 +08:00
Merge branch 'Ultimaker:main' into main
This commit is contained in:
commit
d524a2f491
15
.github/workflows/conan-package.yml
vendored
15
.github/workflows/conan-package.yml
vendored
@ -44,16 +44,24 @@ on:
|
||||
- '[1-9].[0-9]'
|
||||
- '[1-9].[0-9][0-9]'
|
||||
tags:
|
||||
- '[1-9].[0-9].[0-9]+'
|
||||
- '[1-9].[0-9][0-9].[0-9]+'
|
||||
- '[1-9].[0-9].[0-9]*'
|
||||
- '[1-9].[0-9].[0-9]'
|
||||
- '[1-9].[0-9][0-9].[0-9]*'
|
||||
|
||||
permissions: {}
|
||||
jobs:
|
||||
conan-recipe-version:
|
||||
permissions:
|
||||
contents: read
|
||||
|
||||
uses: ultimaker/cura/.github/workflows/conan-recipe-version.yml@main
|
||||
with:
|
||||
project_name: cura
|
||||
|
||||
conan-package-export:
|
||||
permissions:
|
||||
contents: read
|
||||
|
||||
needs: [ conan-recipe-version ]
|
||||
uses: ultimaker/cura/.github/workflows/conan-recipe-export.yml@main
|
||||
with:
|
||||
@ -65,6 +73,9 @@ jobs:
|
||||
secrets: inherit
|
||||
|
||||
conan-package-create-linux:
|
||||
permissions:
|
||||
contents: read
|
||||
|
||||
if: ${{ (github.event_name == 'push' && (github.ref_name == 'main' || github.ref_name == 'master' || needs.conan-recipe-version.outputs.is_release_branch == 'true')) || (github.event_name == 'workflow_dispatch' && inputs.create_binaries_linux) }}
|
||||
needs: [ conan-recipe-version, conan-package-export ]
|
||||
|
||||
|
78
.github/workflows/conan-recipe-version.yml
vendored
78
.github/workflows/conan-recipe-version.yml
vendored
@ -102,6 +102,7 @@ jobs:
|
||||
is_release_branch = True
|
||||
channel = "_"
|
||||
user = "_"
|
||||
actual_version = f"{branch_version}"
|
||||
else:
|
||||
try:
|
||||
branch_version = tools.Version(repo.active_branch.name)
|
||||
@ -118,35 +119,27 @@ jobs:
|
||||
if "pull_request" in event_name:
|
||||
channel = f"pr_{issue_number}"
|
||||
|
||||
# %% Get the actual version
|
||||
latest_branch_version = tools.Version("0.0.0")
|
||||
latest_branch_tag = None
|
||||
for tag in repo.git.tag(merged = True).splitlines():
|
||||
if str(tag).startswith("firmware") or str(tag).startswith("master"):
|
||||
continue # Quick-fix for the versioning scheme name of the embedded team in fdm_materials(_private) repo
|
||||
try:
|
||||
version = tools.Version(tag)
|
||||
except ConanException:
|
||||
continue
|
||||
if version > latest_branch_version:
|
||||
latest_branch_version = version
|
||||
latest_branch_tag = repo.tag(tag)
|
||||
|
||||
if latest_branch_tag:
|
||||
# %% Get the actual version
|
||||
no_commits = 0
|
||||
for commit in repo.iter_commits("HEAD"):
|
||||
if commit == latest_branch_tag.commit:
|
||||
break
|
||||
no_commits += 1
|
||||
latest_branch_version = tools.Version("0.0.0")
|
||||
latest_branch_tag = None
|
||||
for tag in repo.git.tag(merged = True).splitlines():
|
||||
if str(tag).startswith("firmware") or str(tag).startswith("master"):
|
||||
continue # Quick-fix for the versioning scheme name of the embedded team in fdm_materials(_private) repo
|
||||
try:
|
||||
version = tools.Version(tag)
|
||||
except ConanException:
|
||||
continue
|
||||
if version > latest_branch_version:
|
||||
latest_branch_version = version
|
||||
latest_branch_tag = repo.tag(tag)
|
||||
|
||||
if no_commits == 0:
|
||||
# This is a release
|
||||
actual_version = f"{latest_branch_version.major}.{latest_branch_version.minor}.{latest_branch_version.patch}"
|
||||
if channel == "stable":
|
||||
user = "_"
|
||||
channel = "_"
|
||||
else:
|
||||
if latest_branch_tag:
|
||||
# %% Get the actual version
|
||||
no_commits = 0
|
||||
for commit in repo.iter_commits("HEAD"):
|
||||
if commit == latest_branch_tag.commit:
|
||||
break
|
||||
no_commits += 1
|
||||
latest_branch_version_prerelease = latest_branch_version.prerelease
|
||||
if latest_branch_version.prerelease and not "." in latest_branch_version.prerelease:
|
||||
# The prerealese did not contain a version number, default it to 1
|
||||
@ -159,20 +152,29 @@ jobs:
|
||||
channel_metadata = f"{no_commits}"
|
||||
else:
|
||||
channel_metadata = f"{channel}_{no_commits}"
|
||||
if latest_branch_version.prerelease == "":
|
||||
if is_release_branch:
|
||||
if is_release_branch:
|
||||
if latest_branch_version.prerelease == "":
|
||||
# An actual full release has been created, we are working on patch
|
||||
bump_up_patch = int(latest_branch_version.patch) + 1
|
||||
actual_version = f"{latest_branch_version.major}.{latest_branch_version.minor}.{bump_up_patch}-alpha+{buildmetadata}{channel_metadata}"
|
||||
actual_version = f"{latest_branch_version.major}.{latest_branch_version.minor}.{bump_up_patch}-beta.1+{buildmetadata}{channel_metadata}"
|
||||
else:
|
||||
bump_up_minor = int(latest_branch_version.minor) + 1
|
||||
reset_patch = 0
|
||||
actual_version = f"{latest_branch_version.major}.{bump_up_minor}.{reset_patch}-alpha+{buildmetadata}{channel_metadata}"
|
||||
# An beta release has been created we are working toward a next beta or full release
|
||||
bump_up_release_tag = int(latest_branch_version.prerelease.split('.')[1]) + 1
|
||||
actual_version = f"{latest_branch_version.major}.{latest_branch_version.minor}.{latest_branch_version.patch}-{latest_branch_version.prerelease.split('.')[0]}.{bump_up_release_tag}+{buildmetadata}{channel_metadata}"
|
||||
else:
|
||||
actual_version = f"{latest_branch_version.major}.{latest_branch_version.minor}.{latest_branch_version.patch}-{latest_branch_version.prerelease.lower()}+{buildmetadata}{channel_metadata}"
|
||||
else:
|
||||
# FIXME: for external PR's
|
||||
actual_version = f"5.2.0-alpha+{buildmetadata}pr_{issue_number}"
|
||||
bump_up_minor = int(latest_branch_version.minor) + 1
|
||||
reset_patch = 0
|
||||
actual_version = f"{latest_branch_version.major}.{bump_up_minor}.{reset_patch}-alpha+{buildmetadata}{channel_metadata}"
|
||||
else:
|
||||
# FIXME: for external PR's
|
||||
actual_version = f"5.3.0-alpha+{buildmetadata}pr_{issue_number}"
|
||||
|
||||
if is_tag and "${{ github.ref_name }}" == "5.2.0-beta":
|
||||
actual_version = "5.2.0-beta"
|
||||
is_release_branch = True
|
||||
user = "_"
|
||||
channel = "_"
|
||||
|
||||
# %% print to output
|
||||
cmd_name = ["echo", f"::set-output name=name::{project_name}"]
|
||||
subprocess.call(cmd_name)
|
||||
@ -194,7 +196,7 @@ jobs:
|
||||
print(f"version = {actual_version}")
|
||||
print(f"user = {user}")
|
||||
print(f"channel = {channel}")
|
||||
print(f"recipe_id_full = {project_name}/{actual_version}@{user}/{channel}")
|
||||
print(f"= {project_name}/{actual_version}@{user}/{channel}")
|
||||
print(f"recipe_id_latest = {project_name}/latest@{user}/{channel}")
|
||||
print(f"semver_full = {actual_version}")
|
||||
print(f"is_release_branch = {str(is_release_branch).lower()}")
|
||||
|
15
.github/workflows/cura-installer.yml
vendored
15
.github/workflows/cura-installer.yml
vendored
@ -1,4 +1,5 @@
|
||||
name: Cura Installer
|
||||
run-name: ${{ inputs.cura_conan_version }} by @${{ github.actor }}
|
||||
|
||||
on:
|
||||
workflow_dispatch:
|
||||
@ -28,7 +29,7 @@ on:
|
||||
installer:
|
||||
description: 'Create the installer'
|
||||
required: true
|
||||
default: false
|
||||
default: true
|
||||
type: boolean
|
||||
|
||||
# Run the nightly at 3:25 UTC on working days
|
||||
@ -52,6 +53,9 @@ env:
|
||||
MACOS_CERT_USER: ${{ secrets.MACOS_CERT_USER }}
|
||||
GPG_PRIVATE_KEY: ${{ secrets.GPG_PRIVATE_KEY }}
|
||||
MACOS_CERT_PASSPHRASE: ${{ secrets.MACOS_CERT_PASSPHRASE }}
|
||||
CURA_CONAN_VERSION: ${{ inputs.cura_conan_version }}
|
||||
ENTERPRISE: ${{ inputs.enterprise }}
|
||||
STAGING: ${{ inputs.staging }}
|
||||
|
||||
jobs:
|
||||
cura-installer-create:
|
||||
@ -156,8 +160,13 @@ jobs:
|
||||
if: ${{ inputs.conan_config_branch == '' }}
|
||||
run: conan config install https://github.com/Ultimaker/conan-config.git
|
||||
|
||||
- name: Create the Packages
|
||||
run: conan install ${{ inputs.cura_conan_version }} ${{ inputs.conan_args }} --build=missing --update -if cura_inst -g VirtualPythonEnv -o cura:enterprise=${{ inputs.enterprise }} -o cura:staging=${{ inputs.staging }} --json "cura_inst/conan_install_info.json"
|
||||
- name: Create the Packages (Bash)
|
||||
if: ${{ runner.os != 'Windows' }}
|
||||
run: conan install $CURA_CONAN_VERSION ${{ inputs.conan_args }} --build=missing --update -if cura_inst -g VirtualPythonEnv -o cura:enterprise=$ENTERPRISE -o cura:staging=$STAGING --json "cura_inst/conan_install_info.json"
|
||||
|
||||
- name: Create the Packages (Powershell)
|
||||
if: ${{ runner.os == 'Windows' }}
|
||||
run: conan install $Env:CURA_CONAN_VERSION ${{ inputs.conan_args }} --build=missing --update -if cura_inst -g VirtualPythonEnv -o cura:enterprise=$Env:ENTERPRISE -o cura:staging=$Env:STAGING --json "cura_inst/conan_install_info.json"
|
||||
|
||||
- name: Set Environment variables for Cura (bash)
|
||||
if: ${{ runner.os != 'Windows' }}
|
||||
|
35
.github/workflows/notify_on_print_profile_change.yml
vendored
Normal file
35
.github/workflows/notify_on_print_profile_change.yml
vendored
Normal file
@ -0,0 +1,35 @@
|
||||
name: notify_on_print_profile_change
|
||||
|
||||
on:
|
||||
push:
|
||||
branches: [ "main" ]
|
||||
paths:
|
||||
- 'resources/definitions/fdmprinter.def.json'
|
||||
- 'resources/definitions/ultimaker**'
|
||||
- 'resources/extruders/ultimaker**'
|
||||
- 'resources/intent/ultimaker**'
|
||||
- 'resources/quality/ultimaker**'
|
||||
- 'resources/variants/ultimaker**'
|
||||
pull_request:
|
||||
branches: [ "main" ]
|
||||
paths:
|
||||
- 'resources/definitions/fdmprinter.def.json'
|
||||
- 'resources/definitions/ultimaker**'
|
||||
- 'resources/extruders/ultimaker**'
|
||||
- 'resources/intent/ultimaker**'
|
||||
- 'resources/quality/ultimaker**'
|
||||
- 'resources/variants/ultimaker**'
|
||||
jobs:
|
||||
slackNotification:
|
||||
name: Slack Notification
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Ultimaker Print Profile Changed
|
||||
uses: rtCamp/action-slack-notify@v2
|
||||
env:
|
||||
SLACK_CHANNEL: profile-changes
|
||||
SLACK_USERNAME: ${{ github.repository }}
|
||||
SLACK_COLOR: '#00FF00'
|
||||
SLACK_TITLE: Print profiles changed
|
||||
MSG_MINIMAL: commit
|
||||
SLACK_WEBHOOK: ${{ secrets.SLACK_CURA_PPM_HOOK }}
|
8
.github/workflows/unit-test.yml
vendored
8
.github/workflows/unit-test.yml
vendored
@ -60,6 +60,9 @@ env:
|
||||
CONAN_LOGGING_LEVEL: info
|
||||
CONAN_NON_INTERACTIVE: 1
|
||||
|
||||
permissions:
|
||||
contents: read
|
||||
|
||||
jobs:
|
||||
conan-recipe-version:
|
||||
uses: ultimaker/cura/.github/workflows/conan-recipe-version.yml@main
|
||||
@ -144,6 +147,11 @@ jobs:
|
||||
path: "tests/**/*.xml"
|
||||
|
||||
publish-test-results:
|
||||
permissions:
|
||||
contents: read # to fetch code (actions/checkout)
|
||||
checks: write
|
||||
pull-requests: write # to comment on pull request
|
||||
|
||||
runs-on: ubuntu-20.04
|
||||
needs: [ testing ]
|
||||
if: success() || failure()
|
||||
|
317
conandata.yml
317
conandata.yml
@ -10,9 +10,324 @@
|
||||
# requirements (use the <dep_name>/(latest)@ultimaker/testing)
|
||||
#
|
||||
# Subject to change in the future!
|
||||
"5.2.0-beta.2":
|
||||
requirements:
|
||||
- "pyarcus/(latest)@ultimaker/stable"
|
||||
- "curaengine/(latest)@ultimaker/stable"
|
||||
- "pysavitar/(latest)@ultimaker/stable"
|
||||
- "pynest2d/(latest)@ultimaker/stable"
|
||||
- "uranium/(latest)@ultimaker/stable"
|
||||
- "fdm_materials/(latest)@ultimaker/stable"
|
||||
- "cura_binary_data/(latest)@ultimaker/stable"
|
||||
- "cpython/3.10.4"
|
||||
internal_requirements:
|
||||
- "fdm_materials_private/(latest)@ultimaker/testing"
|
||||
- "cura_private_data/(latest)@ultimaker/testing"
|
||||
runinfo:
|
||||
entrypoint: "cura_app.py"
|
||||
pyinstaller:
|
||||
datas:
|
||||
cura_plugins:
|
||||
package: "cura"
|
||||
src: "plugins"
|
||||
dst: "share/cura/plugins"
|
||||
cura_resources:
|
||||
package: "cura"
|
||||
src: "resources"
|
||||
dst: "share/cura/resources"
|
||||
cura_private_data:
|
||||
package: "cura_private_data"
|
||||
src: "resources"
|
||||
dst: "share/cura/resources"
|
||||
internal: true
|
||||
uranium_plugins:
|
||||
package: "uranium"
|
||||
src: "plugins"
|
||||
dst: "share/uranium/plugins"
|
||||
uranium_resources:
|
||||
package: "uranium"
|
||||
src: "resources"
|
||||
dst: "share/uranium/resources"
|
||||
uranium_um_qt_qml_um:
|
||||
package: "uranium"
|
||||
src: "site-packages/UM/Qt/qml/UM"
|
||||
dst: "PyQt6/Qt6/qml/UM"
|
||||
cura_binary_data:
|
||||
package: "cura_binary_data"
|
||||
src: "resources/cura/resources"
|
||||
dst: "share/cura/resources"
|
||||
uranium_binary_data:
|
||||
package: "cura_binary_data"
|
||||
src: "resources/uranium/resources"
|
||||
dst: "share/uranium/resources"
|
||||
windows_binary_data:
|
||||
package: "cura_binary_data"
|
||||
src: "windows"
|
||||
dst: "share/windows"
|
||||
fdm_materials:
|
||||
package: "fdm_materials"
|
||||
src: "materials"
|
||||
dst: "share/cura/resources/materials"
|
||||
fdm_materials_private:
|
||||
package: "fdm_materials_private"
|
||||
src: "resources/materials"
|
||||
dst: "share/cura/resources/materials"
|
||||
internal: true
|
||||
tcl:
|
||||
package: "tcl"
|
||||
src: "lib/tcl8.6"
|
||||
dst: "tcl"
|
||||
tk:
|
||||
package: "tk"
|
||||
src: "lib/tk8.6"
|
||||
dst: "tk"
|
||||
binaries:
|
||||
curaengine:
|
||||
package: "curaengine"
|
||||
src: "bin"
|
||||
dst: "."
|
||||
binary: "CuraEngine"
|
||||
hiddenimports:
|
||||
- "pySavitar"
|
||||
- "pyArcus"
|
||||
- "pynest2d"
|
||||
- "PyQt6"
|
||||
- "PyQt6.QtNetwork"
|
||||
- "PyQt6.sip"
|
||||
- "logging.handlers"
|
||||
- "zeroconf"
|
||||
- "fcntl"
|
||||
- "stl"
|
||||
- "serial"
|
||||
collect_all:
|
||||
- "cura"
|
||||
- "UM"
|
||||
- "serial"
|
||||
- "Charon"
|
||||
- "sqlite3"
|
||||
- "trimesh"
|
||||
- "win32ctypes"
|
||||
- "PyQt6"
|
||||
- "PyQt6.QtNetwork"
|
||||
- "PyQt6.sip"
|
||||
- "stl"
|
||||
icon:
|
||||
Windows: "./icons/Cura.ico"
|
||||
Macos: "./icons/cura.icns"
|
||||
Linux: "./icons/cura-128.png"
|
||||
"5.2.0-beta.1":
|
||||
requirements:
|
||||
- "pyarcus/5.2.0-beta.1"
|
||||
- "curaengine/5.2.0-beta.1"
|
||||
- "pysavitar/5.2.0-beta.1"
|
||||
- "pynest2d/5.2.0-beta.1"
|
||||
- "uranium/5.2.0-beta.1"
|
||||
- "fdm_materials/5.2.0-beta.1"
|
||||
- "cura_binary_data/5.2.0-beta.1"
|
||||
- "cpython/3.10.4"
|
||||
internal_requirements:
|
||||
- "fdm_materials_private/(latest)@ultimaker/testing"
|
||||
- "cura_private_data/(latest)@ultimaker/testing"
|
||||
runinfo:
|
||||
entrypoint: "cura_app.py"
|
||||
pyinstaller:
|
||||
datas:
|
||||
cura_plugins:
|
||||
package: "cura"
|
||||
src: "plugins"
|
||||
dst: "share/cura/plugins"
|
||||
cura_resources:
|
||||
package: "cura"
|
||||
src: "resources"
|
||||
dst: "share/cura/resources"
|
||||
cura_private_data:
|
||||
package: "cura_private_data"
|
||||
src: "resources"
|
||||
dst: "share/cura/resources"
|
||||
internal: true
|
||||
uranium_plugins:
|
||||
package: "uranium"
|
||||
src: "plugins"
|
||||
dst: "share/uranium/plugins"
|
||||
uranium_resources:
|
||||
package: "uranium"
|
||||
src: "resources"
|
||||
dst: "share/uranium/resources"
|
||||
uranium_um_qt_qml_um:
|
||||
package: "uranium"
|
||||
src: "site-packages/UM/Qt/qml/UM"
|
||||
dst: "PyQt6/Qt6/qml/UM"
|
||||
cura_binary_data:
|
||||
package: "cura_binary_data"
|
||||
src: "resources/cura/resources"
|
||||
dst: "share/cura/resources"
|
||||
uranium_binary_data:
|
||||
package: "cura_binary_data"
|
||||
src: "resources/uranium/resources"
|
||||
dst: "share/uranium/resources"
|
||||
windows_binary_data:
|
||||
package: "cura_binary_data"
|
||||
src: "windows"
|
||||
dst: "share/windows"
|
||||
fdm_materials:
|
||||
package: "fdm_materials"
|
||||
src: "materials"
|
||||
dst: "share/cura/resources/materials"
|
||||
fdm_materials_private:
|
||||
package: "fdm_materials_private"
|
||||
src: "resources/materials"
|
||||
dst: "share/cura/resources/materials"
|
||||
internal: true
|
||||
tcl:
|
||||
package: "tcl"
|
||||
src: "lib/tcl8.6"
|
||||
dst: "tcl"
|
||||
tk:
|
||||
package: "tk"
|
||||
src: "lib/tk8.6"
|
||||
dst: "tk"
|
||||
binaries:
|
||||
curaengine:
|
||||
package: "curaengine"
|
||||
src: "bin"
|
||||
dst: "."
|
||||
binary: "CuraEngine"
|
||||
hiddenimports:
|
||||
- "pySavitar"
|
||||
- "pyArcus"
|
||||
- "pynest2d"
|
||||
- "PyQt6"
|
||||
- "PyQt6.QtNetwork"
|
||||
- "PyQt6.sip"
|
||||
- "logging.handlers"
|
||||
- "zeroconf"
|
||||
- "fcntl"
|
||||
- "stl"
|
||||
- "serial"
|
||||
collect_all:
|
||||
- "cura"
|
||||
- "UM"
|
||||
- "serial"
|
||||
- "Charon"
|
||||
- "sqlite3"
|
||||
- "trimesh"
|
||||
- "win32ctypes"
|
||||
- "PyQt6"
|
||||
- "PyQt6.QtNetwork"
|
||||
- "PyQt6.sip"
|
||||
- "stl"
|
||||
icon:
|
||||
Windows: "./icons/Cura.ico"
|
||||
Macos: "./icons/cura.icns"
|
||||
Linux: "./icons/cura-128.png"
|
||||
"5.2.0":
|
||||
requirements:
|
||||
- "pyarcus/5.2.0"
|
||||
- "curaengine/5.2.0"
|
||||
- "pysavitar/5.2.0"
|
||||
- "pynest2d/5.2.0"
|
||||
- "uranium/5.2.0"
|
||||
- "fdm_materials/5.2.0"
|
||||
- "cura_binary_data/5.2.0"
|
||||
- "cpython/3.10.4"
|
||||
internal_requirements:
|
||||
- "fdm_materials_private/(latest)@ultimaker/testing"
|
||||
- "cura_private_data/(latest)@ultimaker/testing"
|
||||
runinfo:
|
||||
entrypoint: "cura_app.py"
|
||||
pyinstaller:
|
||||
datas:
|
||||
cura_plugins:
|
||||
package: "cura"
|
||||
src: "plugins"
|
||||
dst: "share/cura/plugins"
|
||||
cura_resources:
|
||||
package: "cura"
|
||||
src: "resources"
|
||||
dst: "share/cura/resources"
|
||||
cura_private_data:
|
||||
package: "cura_private_data"
|
||||
src: "resources"
|
||||
dst: "share/cura/resources"
|
||||
internal: true
|
||||
uranium_plugins:
|
||||
package: "uranium"
|
||||
src: "plugins"
|
||||
dst: "share/uranium/plugins"
|
||||
uranium_resources:
|
||||
package: "uranium"
|
||||
src: "resources"
|
||||
dst: "share/uranium/resources"
|
||||
uranium_um_qt_qml_um:
|
||||
package: "uranium"
|
||||
src: "site-packages/UM/Qt/qml/UM"
|
||||
dst: "PyQt6/Qt6/qml/UM"
|
||||
cura_binary_data:
|
||||
package: "cura_binary_data"
|
||||
src: "resources/cura/resources"
|
||||
dst: "share/cura/resources"
|
||||
uranium_binary_data:
|
||||
package: "cura_binary_data"
|
||||
src: "resources/uranium/resources"
|
||||
dst: "share/uranium/resources"
|
||||
windows_binary_data:
|
||||
package: "cura_binary_data"
|
||||
src: "windows"
|
||||
dst: "share/windows"
|
||||
fdm_materials:
|
||||
package: "fdm_materials"
|
||||
src: "materials"
|
||||
dst: "share/cura/resources/materials"
|
||||
fdm_materials_private:
|
||||
package: "fdm_materials_private"
|
||||
src: "resources/materials"
|
||||
dst: "share/cura/resources/materials"
|
||||
internal: true
|
||||
tcl:
|
||||
package: "tcl"
|
||||
src: "lib/tcl8.6"
|
||||
dst: "tcl"
|
||||
tk:
|
||||
package: "tk"
|
||||
src: "lib/tk8.6"
|
||||
dst: "tk"
|
||||
binaries:
|
||||
curaengine:
|
||||
package: "curaengine"
|
||||
src: "bin"
|
||||
dst: "."
|
||||
binary: "CuraEngine"
|
||||
hiddenimports:
|
||||
- "pySavitar"
|
||||
- "pyArcus"
|
||||
- "pynest2d"
|
||||
- "PyQt6"
|
||||
- "PyQt6.QtNetwork"
|
||||
- "PyQt6.sip"
|
||||
- "logging.handlers"
|
||||
- "zeroconf"
|
||||
- "fcntl"
|
||||
- "stl"
|
||||
- "serial"
|
||||
collect_all:
|
||||
- "cura"
|
||||
- "UM"
|
||||
- "serial"
|
||||
- "Charon"
|
||||
- "sqlite3"
|
||||
- "trimesh"
|
||||
- "win32ctypes"
|
||||
- "PyQt6"
|
||||
- "PyQt6.QtNetwork"
|
||||
- "PyQt6.sip"
|
||||
- "stl"
|
||||
icon:
|
||||
Windows: "./icons/Cura.ico"
|
||||
Macos: "./icons/cura.icns"
|
||||
Linux: "./icons/cura-128.png"
|
||||
"5.2.0-alpha":
|
||||
requirements:
|
||||
- "pyarcus/(latest)@ultimaker/testing"
|
||||
- "pyarcus/5.2@ultimaker/testing"
|
||||
- "curaengine/(latest)@ultimaker/testing"
|
||||
- "pysavitar/(latest)@ultimaker/testing"
|
||||
- "pynest2d/(latest)@ultimaker/testing"
|
||||
|
28
conanfile.py
28
conanfile.py
@ -7,7 +7,7 @@ from conan import ConanFile
|
||||
from conan.tools.files import copy, rmdir, save
|
||||
from conan.tools.env import VirtualRunEnv, Environment
|
||||
from conan.tools.scm import Version
|
||||
from conan.errors import ConanInvalidConfiguration
|
||||
from conan.errors import ConanInvalidConfiguration, ConanException
|
||||
|
||||
required_conan_version = ">=1.50.0"
|
||||
|
||||
@ -149,10 +149,13 @@ class CuraConan(ConanFile):
|
||||
with open(Path(__file__).parent.joinpath("CuraVersion.py.jinja"), "r") as f:
|
||||
cura_version_py = Template(f.read())
|
||||
|
||||
cura_version = self.conf_info.get("user.cura:version", default = self.version, check_type = str)
|
||||
if self.options.internal:
|
||||
version = Version(cura_version)
|
||||
cura_version = f"{version.major}.{version.minor}.{version.patch}-{version.prerelease.replace('+', '+internal_')}"
|
||||
# If you want a specific Cura version to show up on the splash screen add the user configuration `user.cura:version=VERSION`
|
||||
# the global.conf, profile, package_info (of dependency) or via the cmd line `-c user.cura:version=VERSION`
|
||||
cura_version = Version(self.conf.get("user.cura:version", default = self.version, check_type = str))
|
||||
pre_tag = f"-{cura_version.pre}" if cura_version.pre else ""
|
||||
build_tag = f"+{cura_version.build}" if cura_version.build else ""
|
||||
internal_tag = f"+internal" if self.options.internal else ""
|
||||
cura_version = f"{cura_version.major}.{cura_version.minor}.{cura_version.patch}{pre_tag}{build_tag}{internal_tag}"
|
||||
|
||||
with open(Path(location, "CuraVersion.py"), "w") as f:
|
||||
f.write(cura_version_py.render(
|
||||
@ -199,20 +202,25 @@ class CuraConan(ConanFile):
|
||||
else:
|
||||
continue
|
||||
if not src_path.exists():
|
||||
self.output.warning(f"Source path for binary {binary['binary']} does not exist")
|
||||
continue
|
||||
for bin in src_path.glob(binary["binary"] + ".*[exe|dll|so|dylib]"):
|
||||
|
||||
for bin in src_path.glob(binary["binary"] + "*[.exe|.dll|.so|.dylib|.so.]*"):
|
||||
binaries.append((str(bin), binary["dst"]))
|
||||
for bin in src_path.glob(binary["binary"]):
|
||||
binaries.append((str(bin), binary["dst"]))
|
||||
|
||||
for _, dependency in self.dependencies.items():
|
||||
# Make sure all Conan dependencies which are shared are added to the binary list for pyinstaller
|
||||
for _, dependency in self.dependencies.host.items():
|
||||
for bin_paths in dependency.cpp_info.bindirs:
|
||||
binaries.extend([(f"{p}", ".") for p in Path(bin_paths).glob("**/*.dll")])
|
||||
binaries.extend([(f"{p}", ".") for p in Path(bin_paths).glob("**/*.dylib")])
|
||||
binaries.extend([(f"{p}", ".") for p in Path(bin_paths).glob("**/*.so")])
|
||||
for lib_paths in dependency.cpp_info.libdirs:
|
||||
binaries.extend([(f"{p}", ".") for p in Path(lib_paths).glob("**/*.so*")])
|
||||
binaries.extend([(f"{p}", ".") for p in Path(lib_paths).glob("**/*.dylib*")])
|
||||
|
||||
# Copy dynamic libs from lib path
|
||||
binaries.extend([(f"{p}", ".") for p in Path(self._base_dir.joinpath("lib")).glob("**/*.dylib")])
|
||||
binaries.extend([(f"{p}", ".") for p in Path(self._base_dir.joinpath("lib")).glob("**/*.dylib*")])
|
||||
binaries.extend([(f"{p}", ".") for p in Path(self._base_dir.joinpath("lib")).glob("**/*.so*")])
|
||||
|
||||
# Collect all dll's from PyQt6 and place them in the root
|
||||
binaries.extend([(f"{p}", ".") for p in Path(self._site_packages, "PyQt6", "Qt6").glob("**/*.dll")])
|
||||
|
@ -14,7 +14,7 @@ DEFAULT_CURA_LATEST_URL = "https://software.ultimaker.com/latest.json"
|
||||
# Each release has a fixed SDK version coupled with it. It doesn't make sense to make it configurable because, for
|
||||
# example Cura 3.2 with SDK version 6.1 will not work. So the SDK version is hard-coded here and left out of the
|
||||
# CuraVersion.py.in template.
|
||||
CuraSDKVersion = "8.1.0"
|
||||
CuraSDKVersion = "8.2.0"
|
||||
|
||||
try:
|
||||
from cura.CuraVersion import CuraLatestURL
|
||||
|
@ -33,8 +33,11 @@ class MachineAction(QObject, PluginObject):
|
||||
self._qml_url = ""
|
||||
self._view = None
|
||||
self._finished = False
|
||||
self._open_as_dialog = True
|
||||
self._visible = True
|
||||
|
||||
labelChanged = pyqtSignal()
|
||||
visibilityChanged = pyqtSignal()
|
||||
onFinished = pyqtSignal()
|
||||
|
||||
def getKey(self) -> str:
|
||||
@ -79,6 +82,15 @@ class MachineAction(QObject, PluginObject):
|
||||
|
||||
pass
|
||||
|
||||
@pyqtSlot()
|
||||
def execute(self) -> None:
|
||||
self._execute()
|
||||
|
||||
def _execute(self) -> None:
|
||||
"""Protected implementation of execute."""
|
||||
|
||||
pass
|
||||
|
||||
@pyqtSlot()
|
||||
def setFinished(self) -> None:
|
||||
self._finished = True
|
||||
@ -114,3 +126,30 @@ class MachineAction(QObject, PluginObject):
|
||||
@pyqtSlot(result = QObject)
|
||||
def getDisplayItem(self) -> Optional["QObject"]:
|
||||
return self._createViewFromQML()
|
||||
|
||||
@pyqtProperty(bool, constant=True)
|
||||
def shouldOpenAsDialog(self) -> bool:
|
||||
"""Whether this action will show a dialog.
|
||||
|
||||
If not, the action will directly run the function inside execute().
|
||||
|
||||
:return: Defaults to true to be in line with the old behaviour.
|
||||
"""
|
||||
return self._open_as_dialog
|
||||
|
||||
@pyqtSlot()
|
||||
def setVisible(self, visible: bool) -> None:
|
||||
if self._visible != visible:
|
||||
self._visible = visible
|
||||
self.visibilityChanged.emit()
|
||||
|
||||
@pyqtProperty(bool, notify = visibilityChanged)
|
||||
def visible(self) -> bool:
|
||||
"""Whether this action button will be visible.
|
||||
|
||||
Example: Show only when isLoggedIn
|
||||
|
||||
:return: Defaults to true to be in line with the old behaviour.
|
||||
"""
|
||||
|
||||
return self._visible
|
@ -31,9 +31,19 @@ class CompatibleMachineModel(ListModel):
|
||||
machine_manager.globalContainerChanged.connect(self._update)
|
||||
machine_manager.outputDevicesChanged.connect(self._update)
|
||||
|
||||
@pyqtSlot()
|
||||
def forceUpdate(self):
|
||||
self._update()
|
||||
|
||||
def _update(self) -> None:
|
||||
self.clear()
|
||||
|
||||
def _makeMaterial(brand, name, color):
|
||||
if name.lower() in ["", "empty"]:
|
||||
return {"brand": "", "name": "(empty)", "hexcolor": "#ffffff"}
|
||||
else:
|
||||
return {"brand": brand, "name": name, "hexcolor": color}
|
||||
|
||||
from cura.CuraApplication import CuraApplication
|
||||
machine_manager = CuraApplication.getInstance().getMachineManager()
|
||||
|
||||
@ -44,11 +54,8 @@ class CompatibleMachineModel(ListModel):
|
||||
|
||||
# initialize & add current active material:
|
||||
for extruder in printer.extruders:
|
||||
materials = [{
|
||||
"brand": extruder.activeMaterial.brand,
|
||||
"name": extruder.activeMaterial.name,
|
||||
"hexcolor": extruder.activeMaterial.color,
|
||||
}]
|
||||
materials = [_makeMaterial(
|
||||
extruder.activeMaterial.brand, extruder.activeMaterial.name, extruder.activeMaterial.color)]
|
||||
extruder_configs[extruder.getPosition()] = {
|
||||
"position": extruder.getPosition(),
|
||||
"core": extruder.hotendID,
|
||||
@ -62,11 +69,9 @@ class CompatibleMachineModel(ListModel):
|
||||
Logger.log("w", f"No active extruder for position {extruder.position}.")
|
||||
continue
|
||||
|
||||
extruder_configs[extruder.position]["materials"].append({
|
||||
"brand": extruder.material.brand,
|
||||
"name": extruder.material.name,
|
||||
"hexcolor": extruder.material.color
|
||||
})
|
||||
entry = _makeMaterial(extruder.material.brand, extruder.material.name, extruder.material.color)
|
||||
if entry not in extruder_configs[extruder.position]["materials"]:
|
||||
extruder_configs[extruder.position]["materials"].append(entry)
|
||||
|
||||
if any([len(extruder["materials"]) > 0 for extruder in extruder_configs.values()]):
|
||||
self.appendItem({
|
||||
|
@ -86,14 +86,16 @@ class MachineListModel(ListModel):
|
||||
machines_manager = CuraApplication.getInstance().getMachineManager()
|
||||
|
||||
other_machine_stacks = CuraContainerRegistry.getInstance().findContainerStacks(type="machine")
|
||||
other_machine_stacks.sort(key = lambda machine: machine.getName().upper())
|
||||
|
||||
abstract_machine_stacks = CuraContainerRegistry.getInstance().findContainerStacks(is_abstract_machine = "True")
|
||||
abstract_machine_stacks.sort(key = lambda machine: machine.getName(), reverse = True)
|
||||
abstract_machine_stacks.sort(key = lambda machine: machine.getName().upper())
|
||||
for abstract_machine in abstract_machine_stacks:
|
||||
definition_id = abstract_machine.definition.getId()
|
||||
online_machine_stacks = machines_manager.getMachinesWithDefinition(definition_id, online_only = True)
|
||||
|
||||
online_machine_stacks = list(filter(lambda machine: machine.hasNetworkedConnection(), online_machine_stacks))
|
||||
online_machine_stacks.sort(key=lambda machine: machine.getName().upper())
|
||||
|
||||
other_machine_stacks.remove(abstract_machine)
|
||||
if abstract_machine in online_machine_stacks:
|
||||
|
@ -904,6 +904,7 @@ class MachineManager(QObject):
|
||||
|
||||
if self._global_container_stack is None \
|
||||
or self._global_container_stack.getProperty(setting_key, "value") == new_value \
|
||||
or self._global_container_stack.definitionChanges.getProperty("extruders_enabled_count", "value") is None \
|
||||
or self._global_container_stack.definitionChanges.getProperty("extruders_enabled_count", "value") < 2:
|
||||
return
|
||||
|
||||
|
@ -13,8 +13,8 @@ export QT_XKB_CONFIG_ROOT=/usr/share/X11/xkb
|
||||
# Use the openssl.cnf packaged in the AppImage
|
||||
export OPENSSL_CONF="$scriptdir/openssl.cnf"
|
||||
|
||||
$scriptdir/Ultimaker-Cura "$@"
|
||||
|
||||
# If this variable is set on Zorin OS 16 Cura would crash
|
||||
# unset `QT_STYLE_OVERRIDE` as a precaution
|
||||
unset QT_STYLE_OVERRIDE
|
||||
unset QT_STYLE_OVERRIDE
|
||||
|
||||
$scriptdir/Ultimaker-Cura "$@"
|
||||
|
@ -12,9 +12,9 @@
|
||||
!define INSTALLER_NAME "{{ destination }}"
|
||||
!define MAIN_APP_EXE "{{ main_app }}"
|
||||
!define INSTALL_TYPE "SetShellVarContext all"
|
||||
!define REG_ROOT "HKCR"
|
||||
!define REG_APP_PATH "Software\Microsoft\Windows\CurrentVersion\App Paths\${APP_NAME}"
|
||||
!define UNINSTALL_PATH "Software\Microsoft\Windows\CurrentVersion\Uninstall\${APP_NAME}"
|
||||
!define REG_ROOT "HKLM"
|
||||
!define REG_APP_PATH "Software\Microsoft\Windows\CurrentVersion\App Paths\${APP_NAME}-${VERSION}"
|
||||
!define UNINSTALL_PATH "Software\Microsoft\Windows\CurrentVersion\Uninstall\${APP_NAME}-${VERSION}"
|
||||
|
||||
!define REG_START_MENU "Start Menu Folder"
|
||||
|
||||
@ -163,7 +163,7 @@ Delete "$INSTDIR\uninstall.exe"
|
||||
Delete "$INSTDIR\${APP_NAME} website.url"
|
||||
!endif
|
||||
|
||||
RmDir "$INSTDIR"
|
||||
RmDir /r /REBOOTOK "$INSTDIR"
|
||||
|
||||
!ifdef REG_START_MENU
|
||||
!insertmacro MUI_STARTMENU_GETFOLDER "Application" $SM_Folder
|
||||
|
@ -53,6 +53,7 @@ _ignored_machine_network_metadata = {
|
||||
"connection_type",
|
||||
"capabilities",
|
||||
"octoprint_api_key",
|
||||
"is_abstract_machine"
|
||||
} # type: Set[str]
|
||||
|
||||
|
||||
|
@ -12,6 +12,7 @@ from PyQt6.QtCore import QBuffer
|
||||
|
||||
from UM.Application import Application
|
||||
from UM.Logger import Logger
|
||||
from UM.Settings.SettingFunction import SettingFunction
|
||||
from UM.Mesh.MeshWriter import MeshWriter # The writer we need to implement.
|
||||
from UM.MimeTypeDatabase import MimeTypeDatabase, MimeType
|
||||
from UM.PluginRegistry import PluginRegistry # To get the g-code writer.
|
||||
@ -213,6 +214,7 @@ class UFPWriter(MeshWriter):
|
||||
def _getSliceMetadata(self) -> Dict[str, Dict[str, Dict[str, str]]]:
|
||||
"""Get all changed settings and all settings. For each extruder and the global stack"""
|
||||
print_information = CuraApplication.getInstance().getPrintInformation()
|
||||
machine_manager = CuraApplication.getInstance().getMachineManager()
|
||||
settings = {
|
||||
"material": {
|
||||
"length": print_information.materialLengths,
|
||||
@ -222,7 +224,9 @@ class UFPWriter(MeshWriter):
|
||||
"global": {
|
||||
"changes": {},
|
||||
"all_settings": {},
|
||||
}
|
||||
},
|
||||
"intent": machine_manager.activeIntentCategory,
|
||||
"quality": machine_manager.activeQualityOrQualityChangesName,
|
||||
}
|
||||
|
||||
global_stack = cast(GlobalStack, Application.getInstance().getGlobalContainerStack())
|
||||
@ -230,11 +234,17 @@ class UFPWriter(MeshWriter):
|
||||
# Add global user or quality changes
|
||||
global_flattened_changes = InstanceContainer.createMergedInstanceContainer(global_stack.userChanges, global_stack.qualityChanges)
|
||||
for setting in global_flattened_changes.getAllKeys():
|
||||
settings["global"]["changes"][setting] = global_flattened_changes.getProperty(setting, "value")
|
||||
value = global_flattened_changes.getProperty(setting, "value")
|
||||
if isinstance(value, SettingFunction):
|
||||
value = value(global_flattened_changes)
|
||||
settings["global"]["changes"][setting] = value
|
||||
|
||||
# Get global all settings values without user or quality changes
|
||||
for setting in global_stack.getAllKeys():
|
||||
settings["global"]["all_settings"][setting] = global_stack.getProperty(setting, "value")
|
||||
value = global_stack.getProperty(setting, "value")
|
||||
if isinstance(value, SettingFunction):
|
||||
value = value(global_stack)
|
||||
settings["global"]["all_settings"][setting] = value
|
||||
|
||||
for i, extruder in enumerate(global_stack.extruderList):
|
||||
# Add extruder fields to settings dictionary
|
||||
@ -246,10 +256,16 @@ class UFPWriter(MeshWriter):
|
||||
# Add extruder user or quality changes
|
||||
extruder_flattened_changes = InstanceContainer.createMergedInstanceContainer(extruder.userChanges, extruder.qualityChanges)
|
||||
for setting in extruder_flattened_changes.getAllKeys():
|
||||
settings[f"extruder_{i}"]["changes"][setting] = extruder_flattened_changes.getProperty(setting, "value")
|
||||
value = extruder_flattened_changes.getProperty(setting, "value")
|
||||
if isinstance(value, SettingFunction):
|
||||
value = value(extruder_flattened_changes)
|
||||
settings[f"extruder_{i}"]["changes"][setting] = value
|
||||
|
||||
# Get extruder all settings values without user or quality changes
|
||||
for setting in extruder.getAllKeys():
|
||||
settings[f"extruder_{i}"]["all_settings"][setting] = extruder.getProperty(setting, "value")
|
||||
value = extruder.getProperty(setting, "value")
|
||||
if isinstance(value, SettingFunction):
|
||||
value = value(extruder)
|
||||
settings[f"extruder_{i}"]["all_settings"][setting] = value
|
||||
|
||||
return settings
|
||||
|
@ -127,7 +127,7 @@ Component
|
||||
id: sendToFactoryButton
|
||||
anchors.horizontalCenter: parent.horizontalCenter
|
||||
text: catalog.i18nc("@button", "View printers in Digital Factory")
|
||||
onClicked: Qt.openUrlExternally("https://digitalfactory.ultimaker.com/app/print-jobs?utm_source=cura&utm_medium=software&utm_campaign=monitor-view-cloud-printer-type")
|
||||
onClicked: Qt.openUrlExternally("https://digitalfactory.ultimaker.com/app/welcome?utm_source=cura&utm_medium=software&utm_campaign=monitor-view-cloud-printer-type")
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -10,7 +10,6 @@ from PyQt6.QtGui import QDesktopServices
|
||||
from PyQt6.QtNetwork import QNetworkReply, QNetworkRequest # Parse errors specific to print job uploading.
|
||||
|
||||
from UM import i18nCatalog
|
||||
from UM.Backend.Backend import BackendState
|
||||
from UM.FileHandler.FileHandler import FileHandler
|
||||
from UM.Logger import Logger
|
||||
from UM.Scene.SceneNode import SceneNode
|
||||
@ -18,6 +17,8 @@ from UM.Version import Version
|
||||
from cura.CuraApplication import CuraApplication
|
||||
from cura.PrinterOutput.NetworkedPrinterOutputDevice import AuthState
|
||||
from cura.PrinterOutput.PrinterOutputDevice import ConnectionType
|
||||
from cura.Scene.GCodeListDecorator import GCodeListDecorator
|
||||
from cura.Scene.SliceableObjectDecorator import SliceableObjectDecorator
|
||||
|
||||
from .CloudApiClient import CloudApiClient
|
||||
from ..ExportFileJob import ExportFileJob
|
||||
@ -110,6 +111,9 @@ class CloudOutputDevice(UltimakerNetworkedPrinterOutputDevice):
|
||||
self._pre_upload_print_job = None # type: Optional[CloudPrintJobResponse]
|
||||
self._uploaded_print_job = None # type: Optional[CloudPrintJobResponse]
|
||||
|
||||
CuraApplication.getInstance().getBackend().backendDone.connect(self._resetPrintJob)
|
||||
CuraApplication.getInstance().getController().getScene().sceneChanged.connect(self._onSceneChanged)
|
||||
|
||||
def connect(self) -> None:
|
||||
"""Connects this device."""
|
||||
|
||||
@ -117,8 +121,6 @@ class CloudOutputDevice(UltimakerNetworkedPrinterOutputDevice):
|
||||
return
|
||||
Logger.log("i", "Attempting to connect to cluster %s", self.key)
|
||||
super().connect()
|
||||
|
||||
CuraApplication.getInstance().getBackend().backendStateChange.connect(self._onBackendStateChange)
|
||||
self._update()
|
||||
|
||||
def disconnect(self) -> None:
|
||||
@ -128,11 +130,14 @@ class CloudOutputDevice(UltimakerNetworkedPrinterOutputDevice):
|
||||
return
|
||||
super().disconnect()
|
||||
Logger.log("i", "Disconnected from cluster %s", self.key)
|
||||
CuraApplication.getInstance().getBackend().backendStateChange.disconnect(self._onBackendStateChange)
|
||||
|
||||
def _onBackendStateChange(self, _: BackendState) -> None:
|
||||
"""Resets the print job that was uploaded to force a new upload, runs whenever the user re-slices."""
|
||||
def _onSceneChanged(self, node: SceneNode):
|
||||
# This will reset the print job if a ufp file is loaded. This forces a new upload when printing via cloud from ufp.
|
||||
if node.getDecorator(GCodeListDecorator) or node.getDecorator(SliceableObjectDecorator):
|
||||
self._resetPrintJob()
|
||||
|
||||
def _resetPrintJob(self) -> None:
|
||||
"""Resets the print job that was uploaded to force a new upload, runs whenever slice finishes."""
|
||||
self._tool_path = None
|
||||
self._pre_upload_print_job = None
|
||||
self._uploaded_print_job = None
|
||||
@ -406,3 +411,7 @@ class CloudOutputDevice(UltimakerNetworkedPrinterOutputDevice):
|
||||
|
||||
root_url_prefix = "-staging" if self._account.is_staging else ""
|
||||
return f"https://digitalfactory{root_url_prefix}.ultimaker.com/app/jobs/{self.clusterData.cluster_id}"
|
||||
|
||||
def __del__(self):
|
||||
CuraApplication.getInstance().getBackend().backendDone.disconnect(self._resetPrintJob)
|
||||
CuraApplication.getInstance().getController().getScene().sceneChanged.disconnect(self._onSceneChanged)
|
||||
|
@ -66,16 +66,30 @@ pyclipper==1.3.0.post2; \
|
||||
--hash=sha256:5175ee50772a7dcc0feaab19ccf5b979b6066f4753edb330700231cf70d0c918 \
|
||||
--hash=sha256:19a6809d9cbd535d0fe922e9315babb8d70b5c7dcd43e0f89740d09c406b40f8 \
|
||||
--hash=sha256:5c5d50498e335d7f969ca5ad5886e77c40088521dcabab4feb2f93727140251e
|
||||
scipy==1.8.1; \
|
||||
--hash=sha256:9e3fb1b0e896f14a85aa9a28d5f755daaeeb54c897b746df7a55ccb02b340f33 \
|
||||
--hash=sha256:4e53a55f6a4f22de01ffe1d2f016e30adedb67a699a310cdcac312806807ca81 \
|
||||
--hash=sha256:a0aa8220b89b2e3748a2836fbfa116194378910f1a6e78e4675a095bcd2c762d \
|
||||
--hash=sha256:02b567e722d62bddd4ac253dafb01ce7ed8742cf8031aea030a41414b86c1125 \
|
||||
--hash=sha256:65b77f20202599c51eb2771d11a6b899b97989159b7975e9b5259594f1d35ef4 \
|
||||
--hash=sha256:9dd4012ac599a1e7eb63c114d1eee1bcfc6dc75a29b589ff0ad0bb3d9412034f \
|
||||
--hash=sha256:70de2f11bf64ca9921fda018864c78af7147025e467ce9f4a11bc877266900a6 \
|
||||
--hash=sha256:83606129247e7610b58d0e1e93d2c5133959e9cf93555d3c27e536892f1ba1f2 \
|
||||
--hash=sha256:f3e7a8867f307e3359cc0ed2c63b61a1e33a19080f92fe377bc7d49f646f2ec1
|
||||
scipy==1.9.1 \
|
||||
--hash=sha256:c61b4a91a702e8e04aeb0bfc40460e1f17a640977c04dda8757efb0199c75332 \
|
||||
--hash=sha256:d79da472015d0120ba9b357b28a99146cd6c17b9609403164b1a8ed149b4dfc8 \
|
||||
--hash=sha256:825951b88f56765aeb6e5e38ac9d7d47407cfaaeb008d40aa1b45a2d7ea2731e \
|
||||
--hash=sha256:f950a04b33e17b38ff561d5a0951caf3f5b47caa841edd772ffb7959f20a6af0 \
|
||||
--hash=sha256:8cc81ac25659fec73599ccc52c989670e5ccd8974cf34bacd7b54a8d809aff1a \
|
||||
--hash=sha256:8d3faa40ac16c6357aaf7ea50394ea6f1e8e99d75e927a51102b1943b311b4d9 \
|
||||
--hash=sha256:7a412c476a91b080e456229e413792bbb5d6202865dae963d1e6e28c2bb58691 \
|
||||
--hash=sha256:eb954f5aca4d26f468bbebcdc5448348eb287f7bea536c6306f62ea062f63d9a \
|
||||
--hash=sha256:3c6f5d1d4b9a5e4fe5e14f26ffc9444fc59473bbf8d45dc4a9a15283b7063a72 \
|
||||
--hash=sha256:bc4e2c77d4cd015d739e75e74ebbafed59ba8497a7ed0fd400231ed7683497c4 \
|
||||
--hash=sha256:0419485dbcd0ed78c0d5bf234c5dd63e86065b39b4d669e45810d42199d49521 \
|
||||
--hash=sha256:34441dfbee5b002f9e15285014fd56e5e3372493c3e64ae297bae2c4b9659f5a \
|
||||
--hash=sha256:b97b479f39c7e4aaf807efd0424dec74bbb379108f7d22cf09323086afcd312c \
|
||||
--hash=sha256:e8fe305d9d67a81255e06203454729405706907dccbdfcc330b7b3482a6c371d \
|
||||
--hash=sha256:39ab9240cd215a9349c85ab908dda6d732f7d3b4b192fa05780812495536acc4 \
|
||||
--hash=sha256:71487c503e036740635f18324f62a11f283a632ace9d35933b2b0a04fd898c98 \
|
||||
--hash=sha256:3bc1ab68b9a096f368ba06c3a5e1d1d50957a86665fc929c4332d21355e7e8f4 \
|
||||
--hash=sha256:f7c39f7dbb57cce00c108d06d731f3b0e2a4d3a95c66d96bce697684876ce4d4 \
|
||||
--hash=sha256:47d1a95bd9d37302afcfe1b84c8011377c4f81e33649c5a5785db9ab827a6ade \
|
||||
--hash=sha256:96d7cf7b25c9f23c59a766385f6370dab0659741699ecc7a451f9b94604938ce \
|
||||
--hash=sha256:09412eb7fb60b8f00b328037fd814d25d261066ebc43a1e339cdce4f7502877e \
|
||||
--hash=sha256:90c805f30c46cf60f1e76e947574f02954d25e3bb1e97aa8a07bc53aa31cf7d1 \
|
||||
--hash=sha256:26d28c468900e6d5fdb37d2812ab46db0ccd22c63baa095057871faa3a498bc9
|
||||
trimesh==3.9.36 \
|
||||
--hash=sha256:f01e8edab14d1999700c980c21a1546f37417216ad915a53be649d263130181e \
|
||||
--hash=sha256:8ac8bea693b3ee119f11b022fc9b9481c9f1af06cb38bc859bf5d16bbbe49b23
|
||||
|
@ -6,7 +6,7 @@
|
||||
"display_name": "3MF Reader",
|
||||
"description": "Provides support for reading 3MF files.",
|
||||
"package_version": "1.0.1",
|
||||
"sdk_version": "8.1.0",
|
||||
"sdk_version": "8.2.0",
|
||||
"website": "https://ultimaker.com",
|
||||
"author": {
|
||||
"author_id": "UltimakerPackages",
|
||||
@ -23,7 +23,7 @@
|
||||
"display_name": "3MF Writer",
|
||||
"description": "Provides support for writing 3MF files.",
|
||||
"package_version": "1.0.1",
|
||||
"sdk_version": "8.1.0",
|
||||
"sdk_version": "8.2.0",
|
||||
"website": "https://ultimaker.com",
|
||||
"author": {
|
||||
"author_id": "UltimakerPackages",
|
||||
@ -40,7 +40,7 @@
|
||||
"display_name": "AMF Reader",
|
||||
"description": "Provides support for reading AMF files.",
|
||||
"package_version": "1.0.0",
|
||||
"sdk_version": "8.1.0",
|
||||
"sdk_version": "8.2.0",
|
||||
"website": "https://ultimaker.com",
|
||||
"author": {
|
||||
"author_id": "fieldOfView",
|
||||
@ -57,7 +57,7 @@
|
||||
"display_name": "Cura Backups",
|
||||
"description": "Backup and restore your configuration.",
|
||||
"package_version": "1.2.0",
|
||||
"sdk_version": "8.1.0",
|
||||
"sdk_version": "8.2.0",
|
||||
"website": "https://ultimaker.com",
|
||||
"author": {
|
||||
"author_id": "UltimakerPackages",
|
||||
@ -74,7 +74,7 @@
|
||||
"display_name": "CuraEngine Backend",
|
||||
"description": "Provides the link to the CuraEngine slicing backend.",
|
||||
"package_version": "1.0.1",
|
||||
"sdk_version": "8.1.0",
|
||||
"sdk_version": "8.2.0",
|
||||
"website": "https://ultimaker.com",
|
||||
"author": {
|
||||
"author_id": "UltimakerPackages",
|
||||
@ -91,7 +91,7 @@
|
||||
"display_name": "Cura Profile Reader",
|
||||
"description": "Provides support for importing Cura profiles.",
|
||||
"package_version": "1.0.1",
|
||||
"sdk_version": "8.1.0",
|
||||
"sdk_version": "8.2.0",
|
||||
"website": "https://ultimaker.com",
|
||||
"author": {
|
||||
"author_id": "UltimakerPackages",
|
||||
@ -108,7 +108,7 @@
|
||||
"display_name": "Cura Profile Writer",
|
||||
"description": "Provides support for exporting Cura profiles.",
|
||||
"package_version": "1.0.1",
|
||||
"sdk_version": "8.1.0",
|
||||
"sdk_version": "8.2.0",
|
||||
"website": "https://ultimaker.com",
|
||||
"author": {
|
||||
"author_id": "UltimakerPackages",
|
||||
@ -125,7 +125,7 @@
|
||||
"display_name": "Ultimaker Digital Library",
|
||||
"description": "Connects to the Digital Library, allowing Cura to open files from and save files to the Digital Library.",
|
||||
"package_version": "1.1.0",
|
||||
"sdk_version": "8.1.0",
|
||||
"sdk_version": "8.2.0",
|
||||
"website": "https://ultimaker.com",
|
||||
"author": {
|
||||
"author_id": "UltimakerPackages",
|
||||
@ -142,7 +142,7 @@
|
||||
"display_name": "Firmware Update Checker",
|
||||
"description": "Checks for firmware updates.",
|
||||
"package_version": "1.0.1",
|
||||
"sdk_version": "8.1.0",
|
||||
"sdk_version": "8.2.0",
|
||||
"website": "https://ultimaker.com",
|
||||
"author": {
|
||||
"author_id": "UltimakerPackages",
|
||||
@ -159,7 +159,7 @@
|
||||
"display_name": "Firmware Updater",
|
||||
"description": "Provides a machine actions for updating firmware.",
|
||||
"package_version": "1.0.1",
|
||||
"sdk_version": "8.1.0",
|
||||
"sdk_version": "8.2.0",
|
||||
"website": "https://ultimaker.com",
|
||||
"author": {
|
||||
"author_id": "UltimakerPackages",
|
||||
@ -176,7 +176,7 @@
|
||||
"display_name": "Compressed G-code Reader",
|
||||
"description": "Reads g-code from a compressed archive.",
|
||||
"package_version": "1.0.1",
|
||||
"sdk_version": "8.1.0",
|
||||
"sdk_version": "8.2.0",
|
||||
"website": "https://ultimaker.com",
|
||||
"author": {
|
||||
"author_id": "UltimakerPackages",
|
||||
@ -193,7 +193,7 @@
|
||||
"display_name": "Compressed G-code Writer",
|
||||
"description": "Writes g-code to a compressed archive.",
|
||||
"package_version": "1.0.1",
|
||||
"sdk_version": "8.1.0",
|
||||
"sdk_version": "8.2.0",
|
||||
"website": "https://ultimaker.com",
|
||||
"author": {
|
||||
"author_id": "UltimakerPackages",
|
||||
@ -210,7 +210,7 @@
|
||||
"display_name": "G-Code Profile Reader",
|
||||
"description": "Provides support for importing profiles from g-code files.",
|
||||
"package_version": "1.0.1",
|
||||
"sdk_version": "8.1.0",
|
||||
"sdk_version": "8.2.0",
|
||||
"website": "https://ultimaker.com",
|
||||
"author": {
|
||||
"author_id": "UltimakerPackages",
|
||||
@ -227,7 +227,7 @@
|
||||
"display_name": "G-Code Reader",
|
||||
"description": "Allows loading and displaying G-code files.",
|
||||
"package_version": "1.0.1",
|
||||
"sdk_version": "8.1.0",
|
||||
"sdk_version": "8.2.0",
|
||||
"website": "https://ultimaker.com",
|
||||
"author": {
|
||||
"author_id": "VictorLarchenko",
|
||||
@ -244,7 +244,7 @@
|
||||
"display_name": "G-Code Writer",
|
||||
"description": "Writes g-code to a file.",
|
||||
"package_version": "1.0.1",
|
||||
"sdk_version": "8.1.0",
|
||||
"sdk_version": "8.2.0",
|
||||
"website": "https://ultimaker.com",
|
||||
"author": {
|
||||
"author_id": "UltimakerPackages",
|
||||
@ -261,7 +261,7 @@
|
||||
"display_name": "Image Reader",
|
||||
"description": "Enables ability to generate printable geometry from 2D image files.",
|
||||
"package_version": "1.0.1",
|
||||
"sdk_version": "8.1.0",
|
||||
"sdk_version": "8.2.0",
|
||||
"website": "https://ultimaker.com",
|
||||
"author": {
|
||||
"author_id": "UltimakerPackages",
|
||||
@ -278,7 +278,7 @@
|
||||
"display_name": "Legacy Cura Profile Reader",
|
||||
"description": "Provides support for importing profiles from legacy Cura versions.",
|
||||
"package_version": "1.0.1",
|
||||
"sdk_version": "8.1.0",
|
||||
"sdk_version": "8.2.0",
|
||||
"website": "https://ultimaker.com",
|
||||
"author": {
|
||||
"author_id": "UltimakerPackages",
|
||||
@ -295,7 +295,7 @@
|
||||
"display_name": "Machine Settings Action",
|
||||
"description": "Provides a way to change machine settings (such as build volume, nozzle size, etc.).",
|
||||
"package_version": "1.0.1",
|
||||
"sdk_version": "8.1.0",
|
||||
"sdk_version": "8.2.0",
|
||||
"website": "https://ultimaker.com",
|
||||
"author": {
|
||||
"author_id": "fieldOfView",
|
||||
@ -312,7 +312,7 @@
|
||||
"display_name": "Model Checker",
|
||||
"description": "Checks models and print configuration for possible printing issues and give suggestions.",
|
||||
"package_version": "1.0.1",
|
||||
"sdk_version": "8.1.0",
|
||||
"sdk_version": "8.2.0",
|
||||
"website": "https://ultimaker.com",
|
||||
"author": {
|
||||
"author_id": "UltimakerPackages",
|
||||
@ -329,7 +329,7 @@
|
||||
"display_name": "Monitor Stage",
|
||||
"description": "Provides a monitor stage in Cura.",
|
||||
"package_version": "1.0.1",
|
||||
"sdk_version": "8.1.0",
|
||||
"sdk_version": "8.2.0",
|
||||
"website": "https://ultimaker.com",
|
||||
"author": {
|
||||
"author_id": "UltimakerPackages",
|
||||
@ -346,7 +346,7 @@
|
||||
"display_name": "Per-Object Settings Tool",
|
||||
"description": "Provides the per-model settings.",
|
||||
"package_version": "1.0.1",
|
||||
"sdk_version": "8.1.0",
|
||||
"sdk_version": "8.2.0",
|
||||
"website": "https://ultimaker.com",
|
||||
"author": {
|
||||
"author_id": "UltimakerPackages",
|
||||
@ -363,7 +363,7 @@
|
||||
"display_name": "Post Processing",
|
||||
"description": "Extension that allows for user created scripts for post processing.",
|
||||
"package_version": "2.2.1",
|
||||
"sdk_version": "8.1.0",
|
||||
"sdk_version": "8.2.0",
|
||||
"website": "https://ultimaker.com",
|
||||
"author": {
|
||||
"author_id": "UltimakerPackages",
|
||||
@ -380,7 +380,7 @@
|
||||
"display_name": "Prepare Stage",
|
||||
"description": "Provides a prepare stage in Cura.",
|
||||
"package_version": "1.0.1",
|
||||
"sdk_version": "8.1.0",
|
||||
"sdk_version": "8.2.0",
|
||||
"website": "https://ultimaker.com",
|
||||
"author": {
|
||||
"author_id": "UltimakerPackages",
|
||||
@ -397,7 +397,7 @@
|
||||
"display_name": "Preview Stage",
|
||||
"description": "Provides a preview stage in Cura.",
|
||||
"package_version": "1.0.1",
|
||||
"sdk_version": "8.1.0",
|
||||
"sdk_version": "8.2.0",
|
||||
"website": "https://ultimaker.com",
|
||||
"author": {
|
||||
"author_id": "UltimakerPackages",
|
||||
@ -414,7 +414,7 @@
|
||||
"display_name": "Removable Drive Output Device",
|
||||
"description": "Provides removable drive hotplugging and writing support.",
|
||||
"package_version": "1.0.1",
|
||||
"sdk_version": "8.1.0",
|
||||
"sdk_version": "8.2.0",
|
||||
"website": "https://ultimaker.com",
|
||||
"author": {
|
||||
"author_id": "UltimakerPackages",
|
||||
@ -431,7 +431,7 @@
|
||||
"display_name": "Sentry Logger",
|
||||
"description": "Logs certain events so that they can be used by the crash reporter",
|
||||
"package_version": "1.0.0",
|
||||
"sdk_version": "8.1.0",
|
||||
"sdk_version": "8.2.0",
|
||||
"website": "https://ultimaker.com",
|
||||
"author": {
|
||||
"author_id": "UltimakerPackages",
|
||||
@ -448,7 +448,7 @@
|
||||
"display_name": "Simulation View",
|
||||
"description": "Provides the Simulation view.",
|
||||
"package_version": "1.0.1",
|
||||
"sdk_version": "8.1.0",
|
||||
"sdk_version": "8.2.0",
|
||||
"website": "https://ultimaker.com",
|
||||
"author": {
|
||||
"author_id": "UltimakerPackages",
|
||||
@ -465,7 +465,7 @@
|
||||
"display_name": "Slice Info",
|
||||
"description": "Submits anonymous slice info. Can be disabled through preferences.",
|
||||
"package_version": "1.0.1",
|
||||
"sdk_version": "8.1.0",
|
||||
"sdk_version": "8.2.0",
|
||||
"website": "https://ultimaker.com",
|
||||
"author": {
|
||||
"author_id": "UltimakerPackages",
|
||||
@ -482,7 +482,7 @@
|
||||
"display_name": "Solid View",
|
||||
"description": "Provides a normal solid mesh view.",
|
||||
"package_version": "1.0.1",
|
||||
"sdk_version": "8.1.0",
|
||||
"sdk_version": "8.2.0",
|
||||
"website": "https://ultimaker.com",
|
||||
"author": {
|
||||
"author_id": "UltimakerPackages",
|
||||
@ -499,7 +499,7 @@
|
||||
"display_name": "Support Eraser Tool",
|
||||
"description": "Creates an eraser mesh to block the printing of support in certain places.",
|
||||
"package_version": "1.0.1",
|
||||
"sdk_version": "8.1.0",
|
||||
"sdk_version": "8.2.0",
|
||||
"website": "https://ultimaker.com",
|
||||
"author": {
|
||||
"author_id": "UltimakerPackages",
|
||||
@ -516,7 +516,7 @@
|
||||
"display_name": "Trimesh Reader",
|
||||
"description": "Provides support for reading model files.",
|
||||
"package_version": "1.0.0",
|
||||
"sdk_version": "8.1.0",
|
||||
"sdk_version": "8.2.0",
|
||||
"website": "https://ultimaker.com",
|
||||
"author": {
|
||||
"author_id": "UltimakerPackages",
|
||||
@ -533,7 +533,7 @@
|
||||
"display_name": "Marketplace",
|
||||
"description": "Find, manage and install new Cura packages.",
|
||||
"package_version": "1.0.0",
|
||||
"sdk_version": "8.1.0",
|
||||
"sdk_version": "8.2.0",
|
||||
"website": "https://ultimaker.com",
|
||||
"author": {
|
||||
"author_id": "UltimakerPackages",
|
||||
@ -550,7 +550,7 @@
|
||||
"display_name": "UFP Reader",
|
||||
"description": "Provides support for reading Ultimaker Format Packages.",
|
||||
"package_version": "1.0.0",
|
||||
"sdk_version": "8.1.0",
|
||||
"sdk_version": "8.2.0",
|
||||
"website": "https://ultimaker.com",
|
||||
"author": {
|
||||
"author_id": "UltimakerPackages",
|
||||
@ -567,7 +567,7 @@
|
||||
"display_name": "UFP Writer",
|
||||
"description": "Provides support for writing Ultimaker Format Packages.",
|
||||
"package_version": "1.0.1",
|
||||
"sdk_version": "8.1.0",
|
||||
"sdk_version": "8.2.0",
|
||||
"website": "https://ultimaker.com",
|
||||
"author": {
|
||||
"author_id": "UltimakerPackages",
|
||||
@ -584,7 +584,7 @@
|
||||
"display_name": "Ultimaker Machine Actions",
|
||||
"description": "Provides machine actions for Ultimaker machines (such as bed leveling wizard, selecting upgrades, etc.).",
|
||||
"package_version": "1.0.1",
|
||||
"sdk_version": "8.1.0",
|
||||
"sdk_version": "8.2.0",
|
||||
"website": "https://ultimaker.com",
|
||||
"author": {
|
||||
"author_id": "UltimakerPackages",
|
||||
@ -601,7 +601,7 @@
|
||||
"display_name": "UM3 Network Printing",
|
||||
"description": "Manages network connections to Ultimaker 3 printers.",
|
||||
"package_version": "1.0.1",
|
||||
"sdk_version": "8.1.0",
|
||||
"sdk_version": "8.2.0",
|
||||
"website": "https://ultimaker.com",
|
||||
"author": {
|
||||
"author_id": "UltimakerPackages",
|
||||
@ -618,7 +618,7 @@
|
||||
"display_name": "USB Printing",
|
||||
"description": "Accepts G-Code and sends them to a printer. Plugin can also update firmware.",
|
||||
"package_version": "1.0.2",
|
||||
"sdk_version": "8.1.0",
|
||||
"sdk_version": "8.2.0",
|
||||
"website": "https://ultimaker.com",
|
||||
"author": {
|
||||
"author_id": "UltimakerPackages",
|
||||
@ -635,7 +635,7 @@
|
||||
"display_name": "Version Upgrade 2.1 to 2.2",
|
||||
"description": "Upgrades configurations from Cura 2.1 to Cura 2.2.",
|
||||
"package_version": "1.0.1",
|
||||
"sdk_version": "8.1.0",
|
||||
"sdk_version": "8.2.0",
|
||||
"website": "https://ultimaker.com",
|
||||
"author": {
|
||||
"author_id": "UltimakerPackages",
|
||||
@ -652,7 +652,7 @@
|
||||
"display_name": "Version Upgrade 2.2 to 2.4",
|
||||
"description": "Upgrades configurations from Cura 2.2 to Cura 2.4.",
|
||||
"package_version": "1.0.1",
|
||||
"sdk_version": "8.1.0",
|
||||
"sdk_version": "8.2.0",
|
||||
"website": "https://ultimaker.com",
|
||||
"author": {
|
||||
"author_id": "UltimakerPackages",
|
||||
@ -669,7 +669,7 @@
|
||||
"display_name": "Version Upgrade 2.5 to 2.6",
|
||||
"description": "Upgrades configurations from Cura 2.5 to Cura 2.6.",
|
||||
"package_version": "1.0.1",
|
||||
"sdk_version": "8.1.0",
|
||||
"sdk_version": "8.2.0",
|
||||
"website": "https://ultimaker.com",
|
||||
"author": {
|
||||
"author_id": "UltimakerPackages",
|
||||
@ -686,7 +686,7 @@
|
||||
"display_name": "Version Upgrade 2.6 to 2.7",
|
||||
"description": "Upgrades configurations from Cura 2.6 to Cura 2.7.",
|
||||
"package_version": "1.0.1",
|
||||
"sdk_version": "8.1.0",
|
||||
"sdk_version": "8.2.0",
|
||||
"website": "https://ultimaker.com",
|
||||
"author": {
|
||||
"author_id": "UltimakerPackages",
|
||||
@ -703,7 +703,7 @@
|
||||
"display_name": "Version Upgrade 2.7 to 3.0",
|
||||
"description": "Upgrades configurations from Cura 2.7 to Cura 3.0.",
|
||||
"package_version": "1.0.1",
|
||||
"sdk_version": "8.1.0",
|
||||
"sdk_version": "8.2.0",
|
||||
"website": "https://ultimaker.com",
|
||||
"author": {
|
||||
"author_id": "UltimakerPackages",
|
||||
@ -720,7 +720,7 @@
|
||||
"display_name": "Version Upgrade 3.0 to 3.1",
|
||||
"description": "Upgrades configurations from Cura 3.0 to Cura 3.1.",
|
||||
"package_version": "1.0.1",
|
||||
"sdk_version": "8.1.0",
|
||||
"sdk_version": "8.2.0",
|
||||
"website": "https://ultimaker.com",
|
||||
"author": {
|
||||
"author_id": "UltimakerPackages",
|
||||
@ -737,7 +737,7 @@
|
||||
"display_name": "Version Upgrade 3.2 to 3.3",
|
||||
"description": "Upgrades configurations from Cura 3.2 to Cura 3.3.",
|
||||
"package_version": "1.0.1",
|
||||
"sdk_version": "8.1.0",
|
||||
"sdk_version": "8.2.0",
|
||||
"website": "https://ultimaker.com",
|
||||
"author": {
|
||||
"author_id": "UltimakerPackages",
|
||||
@ -754,7 +754,7 @@
|
||||
"display_name": "Version Upgrade 3.3 to 3.4",
|
||||
"description": "Upgrades configurations from Cura 3.3 to Cura 3.4.",
|
||||
"package_version": "1.0.1",
|
||||
"sdk_version": "8.1.0",
|
||||
"sdk_version": "8.2.0",
|
||||
"website": "https://ultimaker.com",
|
||||
"author": {
|
||||
"author_id": "UltimakerPackages",
|
||||
@ -771,7 +771,7 @@
|
||||
"display_name": "Version Upgrade 3.4 to 3.5",
|
||||
"description": "Upgrades configurations from Cura 3.4 to Cura 3.5.",
|
||||
"package_version": "1.0.1",
|
||||
"sdk_version": "8.1.0",
|
||||
"sdk_version": "8.2.0",
|
||||
"website": "https://ultimaker.com",
|
||||
"author": {
|
||||
"author_id": "UltimakerPackages",
|
||||
@ -788,7 +788,7 @@
|
||||
"display_name": "Version Upgrade 3.5 to 4.0",
|
||||
"description": "Upgrades configurations from Cura 3.5 to Cura 4.0.",
|
||||
"package_version": "1.0.0",
|
||||
"sdk_version": "8.1.0",
|
||||
"sdk_version": "8.2.0",
|
||||
"website": "https://ultimaker.com",
|
||||
"author": {
|
||||
"author_id": "UltimakerPackages",
|
||||
@ -805,7 +805,7 @@
|
||||
"display_name": "Version Upgrade 4.0 to 4.1",
|
||||
"description": "Upgrades configurations from Cura 4.0 to Cura 4.1.",
|
||||
"package_version": "1.0.1",
|
||||
"sdk_version": "8.1.0",
|
||||
"sdk_version": "8.2.0",
|
||||
"website": "https://ultimaker.com",
|
||||
"author": {
|
||||
"author_id": "UltimakerPackages",
|
||||
@ -822,7 +822,7 @@
|
||||
"display_name": "Version Upgrade 4.1 to 4.2",
|
||||
"description": "Upgrades configurations from Cura 4.1 to Cura 4.2.",
|
||||
"package_version": "1.0.0",
|
||||
"sdk_version": "8.1.0",
|
||||
"sdk_version": "8.2.0",
|
||||
"website": "https://ultimaker.com",
|
||||
"author": {
|
||||
"author_id": "UltimakerPackages",
|
||||
@ -839,7 +839,7 @@
|
||||
"display_name": "Version Upgrade 4.2 to 4.3",
|
||||
"description": "Upgrades configurations from Cura 4.2 to Cura 4.3.",
|
||||
"package_version": "1.0.0",
|
||||
"sdk_version": "8.1.0",
|
||||
"sdk_version": "8.2.0",
|
||||
"website": "https://ultimaker.com",
|
||||
"author": {
|
||||
"author_id": "UltimakerPackages",
|
||||
@ -856,7 +856,7 @@
|
||||
"display_name": "Version Upgrade 4.3 to 4.4",
|
||||
"description": "Upgrades configurations from Cura 4.3 to Cura 4.4.",
|
||||
"package_version": "1.0.0",
|
||||
"sdk_version": "8.1.0",
|
||||
"sdk_version": "8.2.0",
|
||||
"website": "https://ultimaker.com",
|
||||
"author": {
|
||||
"author_id": "UltimakerPackages",
|
||||
@ -873,7 +873,7 @@
|
||||
"display_name": "Version Upgrade 4.4 to 4.5",
|
||||
"description": "Upgrades configurations from Cura 4.4 to Cura 4.5.",
|
||||
"package_version": "1.0.0",
|
||||
"sdk_version": "8.1.0",
|
||||
"sdk_version": "8.2.0",
|
||||
"website": "https://ultimaker.com",
|
||||
"author": {
|
||||
"author_id": "UltimakerPackages",
|
||||
@ -890,7 +890,7 @@
|
||||
"display_name": "Version Upgrade 4.5 to 4.6",
|
||||
"description": "Upgrades configurations from Cura 4.5 to Cura 4.6.",
|
||||
"package_version": "1.0.0",
|
||||
"sdk_version": "8.1.0",
|
||||
"sdk_version": "8.2.0",
|
||||
"website": "https://ultimaker.com",
|
||||
"author": {
|
||||
"author_id": "UltimakerPackages",
|
||||
@ -907,7 +907,7 @@
|
||||
"display_name": "Version Upgrade 4.6.0 to 4.6.2",
|
||||
"description": "Upgrades configurations from Cura 4.6.0 to Cura 4.6.2.",
|
||||
"package_version": "1.0.0",
|
||||
"sdk_version": "8.1.0",
|
||||
"sdk_version": "8.2.0",
|
||||
"website": "https://ultimaker.com",
|
||||
"author": {
|
||||
"author_id": "UltimakerPackages",
|
||||
@ -924,7 +924,7 @@
|
||||
"display_name": "Version Upgrade 4.6.2 to 4.7",
|
||||
"description": "Upgrades configurations from Cura 4.6.2 to Cura 4.7.",
|
||||
"package_version": "1.0.0",
|
||||
"sdk_version": "8.1.0",
|
||||
"sdk_version": "8.2.0",
|
||||
"website": "https://ultimaker.com",
|
||||
"author": {
|
||||
"author_id": "UltimakerPackages",
|
||||
@ -941,7 +941,7 @@
|
||||
"display_name": "Version Upgrade 4.7.0 to 4.8.0",
|
||||
"description": "Upgrades configurations from Cura 4.7.0 to Cura 4.8.0",
|
||||
"package_version": "1.0.0",
|
||||
"sdk_version": "8.1.0",
|
||||
"sdk_version": "8.2.0",
|
||||
"website": "https://ultimaker.com",
|
||||
"author": {
|
||||
"author_id": "UltimakerPackages",
|
||||
@ -958,7 +958,7 @@
|
||||
"display_name": "Version Upgrade 4.8.0 to 4.9.0",
|
||||
"description": "Upgrades configurations from Cura 4.8.0 to Cura 4.9.0",
|
||||
"package_version": "1.0.0",
|
||||
"sdk_version": "8.1.0",
|
||||
"sdk_version": "8.2.0",
|
||||
"website": "https://ultimaker.com",
|
||||
"author": {
|
||||
"author_id": "UltimakerPackages",
|
||||
@ -975,7 +975,7 @@
|
||||
"display_name": "Version Upgrade 4.9 to 4.10",
|
||||
"description": "Upgrades configurations from Cura 4.9 to Cura 4.10",
|
||||
"package_version": "1.0.0",
|
||||
"sdk_version": "8.1.0",
|
||||
"sdk_version": "8.2.0",
|
||||
"website": "https://ultimaker.com",
|
||||
"author": {
|
||||
"author_id": "UltimakerPackages",
|
||||
@ -1010,7 +1010,7 @@
|
||||
"display_name": "X3D Reader",
|
||||
"description": "Provides support for reading X3D files.",
|
||||
"package_version": "1.0.1",
|
||||
"sdk_version": "8.1.0",
|
||||
"sdk_version": "8.2.0",
|
||||
"website": "https://ultimaker.com",
|
||||
"author": {
|
||||
"author_id": "SevaAlekseyev",
|
||||
@ -1027,7 +1027,7 @@
|
||||
"display_name": "XML Material Profiles",
|
||||
"description": "Provides capabilities to read and write XML-based material profiles.",
|
||||
"package_version": "1.0.1",
|
||||
"sdk_version": "8.1.0",
|
||||
"sdk_version": "8.2.0",
|
||||
"website": "https://ultimaker.com",
|
||||
"author": {
|
||||
"author_id": "UltimakerPackages",
|
||||
@ -1044,7 +1044,7 @@
|
||||
"display_name": "X-Ray View",
|
||||
"description": "Provides the X-Ray view.",
|
||||
"package_version": "1.0.1",
|
||||
"sdk_version": "8.1.0",
|
||||
"sdk_version": "8.2.0",
|
||||
"website": "https://ultimaker.com",
|
||||
"author": {
|
||||
"author_id": "UltimakerPackages",
|
||||
@ -1061,7 +1061,7 @@
|
||||
"display_name": "Generic ABS",
|
||||
"description": "The generic ABS profile which other profiles can be based upon.",
|
||||
"package_version": "1.4.0",
|
||||
"sdk_version": "8.1.0",
|
||||
"sdk_version": "8.2.0",
|
||||
"website": "https://github.com/Ultimaker/fdm_materials",
|
||||
"author": {
|
||||
"author_id": "Generic",
|
||||
@ -1079,7 +1079,7 @@
|
||||
"display_name": "Generic BAM",
|
||||
"description": "The generic BAM profile which other profiles can be based upon.",
|
||||
"package_version": "1.4.0",
|
||||
"sdk_version": "8.1.0",
|
||||
"sdk_version": "8.2.0",
|
||||
"website": "https://github.com/Ultimaker/fdm_materials",
|
||||
"author": {
|
||||
"author_id": "Generic",
|
||||
@ -1097,7 +1097,7 @@
|
||||
"display_name": "Generic CFF CPE",
|
||||
"description": "The generic CFF CPE profile which other profiles can be based upon.",
|
||||
"package_version": "1.4.0",
|
||||
"sdk_version": "8.1.0",
|
||||
"sdk_version": "8.2.0",
|
||||
"website": "https://github.com/Ultimaker/fdm_materials",
|
||||
"author": {
|
||||
"author_id": "Generic",
|
||||
@ -1115,7 +1115,7 @@
|
||||
"display_name": "Generic CFF PA",
|
||||
"description": "The generic CFF PA profile which other profiles can be based upon.",
|
||||
"package_version": "1.4.0",
|
||||
"sdk_version": "8.1.0",
|
||||
"sdk_version": "8.2.0",
|
||||
"website": "https://github.com/Ultimaker/fdm_materials",
|
||||
"author": {
|
||||
"author_id": "Generic",
|
||||
@ -1133,7 +1133,7 @@
|
||||
"display_name": "Generic CPE",
|
||||
"description": "The generic CPE profile which other profiles can be based upon.",
|
||||
"package_version": "1.4.0",
|
||||
"sdk_version": "8.1.0",
|
||||
"sdk_version": "8.2.0",
|
||||
"website": "https://github.com/Ultimaker/fdm_materials",
|
||||
"author": {
|
||||
"author_id": "Generic",
|
||||
@ -1151,7 +1151,7 @@
|
||||
"display_name": "Generic CPE+",
|
||||
"description": "The generic CPE+ profile which other profiles can be based upon.",
|
||||
"package_version": "1.4.0",
|
||||
"sdk_version": "8.1.0",
|
||||
"sdk_version": "8.2.0",
|
||||
"website": "https://github.com/Ultimaker/fdm_materials",
|
||||
"author": {
|
||||
"author_id": "Generic",
|
||||
@ -1169,7 +1169,7 @@
|
||||
"display_name": "Generic GFF CPE",
|
||||
"description": "The generic GFF CPE profile which other profiles can be based upon.",
|
||||
"package_version": "1.4.0",
|
||||
"sdk_version": "8.1.0",
|
||||
"sdk_version": "8.2.0",
|
||||
"website": "https://github.com/Ultimaker/fdm_materials",
|
||||
"author": {
|
||||
"author_id": "Generic",
|
||||
@ -1187,7 +1187,7 @@
|
||||
"display_name": "Generic GFF PA",
|
||||
"description": "The generic GFF PA profile which other profiles can be based upon.",
|
||||
"package_version": "1.4.0",
|
||||
"sdk_version": "8.1.0",
|
||||
"sdk_version": "8.2.0",
|
||||
"website": "https://github.com/Ultimaker/fdm_materials",
|
||||
"author": {
|
||||
"author_id": "Generic",
|
||||
@ -1205,7 +1205,7 @@
|
||||
"display_name": "Generic HIPS",
|
||||
"description": "The generic HIPS profile which other profiles can be based upon.",
|
||||
"package_version": "1.4.0",
|
||||
"sdk_version": "8.1.0",
|
||||
"sdk_version": "8.2.0",
|
||||
"website": "https://github.com/Ultimaker/fdm_materials",
|
||||
"author": {
|
||||
"author_id": "Generic",
|
||||
@ -1223,7 +1223,7 @@
|
||||
"display_name": "Generic Nylon",
|
||||
"description": "The generic Nylon profile which other profiles can be based upon.",
|
||||
"package_version": "1.4.0",
|
||||
"sdk_version": "8.1.0",
|
||||
"sdk_version": "8.2.0",
|
||||
"website": "https://github.com/Ultimaker/fdm_materials",
|
||||
"author": {
|
||||
"author_id": "Generic",
|
||||
@ -1241,7 +1241,7 @@
|
||||
"display_name": "Generic PC",
|
||||
"description": "The generic PC profile which other profiles can be based upon.",
|
||||
"package_version": "1.4.0",
|
||||
"sdk_version": "8.1.0",
|
||||
"sdk_version": "8.2.0",
|
||||
"website": "https://github.com/Ultimaker/fdm_materials",
|
||||
"author": {
|
||||
"author_id": "Generic",
|
||||
@ -1259,7 +1259,7 @@
|
||||
"display_name": "Generic PETG",
|
||||
"description": "The generic PETG profile which other profiles can be based upon.",
|
||||
"package_version": "1.4.0",
|
||||
"sdk_version": "8.1.0",
|
||||
"sdk_version": "8.2.0",
|
||||
"website": "https://github.com/Ultimaker/fdm_materials",
|
||||
"author": {
|
||||
"author_id": "Generic",
|
||||
@ -1277,7 +1277,7 @@
|
||||
"display_name": "Generic PLA",
|
||||
"description": "The generic PLA profile which other profiles can be based upon.",
|
||||
"package_version": "1.4.0",
|
||||
"sdk_version": "8.1.0",
|
||||
"sdk_version": "8.2.0",
|
||||
"website": "https://github.com/Ultimaker/fdm_materials",
|
||||
"author": {
|
||||
"author_id": "Generic",
|
||||
@ -1295,7 +1295,7 @@
|
||||
"display_name": "Generic PP",
|
||||
"description": "The generic PP profile which other profiles can be based upon.",
|
||||
"package_version": "1.4.0",
|
||||
"sdk_version": "8.1.0",
|
||||
"sdk_version": "8.2.0",
|
||||
"website": "https://github.com/Ultimaker/fdm_materials",
|
||||
"author": {
|
||||
"author_id": "Generic",
|
||||
@ -1313,7 +1313,7 @@
|
||||
"display_name": "Generic PVA",
|
||||
"description": "The generic PVA profile which other profiles can be based upon.",
|
||||
"package_version": "1.4.0",
|
||||
"sdk_version": "8.1.0",
|
||||
"sdk_version": "8.2.0",
|
||||
"website": "https://github.com/Ultimaker/fdm_materials",
|
||||
"author": {
|
||||
"author_id": "Generic",
|
||||
@ -1331,7 +1331,7 @@
|
||||
"display_name": "Generic Tough PLA",
|
||||
"description": "The generic Tough PLA profile which other profiles can be based upon.",
|
||||
"package_version": "1.4.0",
|
||||
"sdk_version": "8.1.0",
|
||||
"sdk_version": "8.2.0",
|
||||
"website": "https://github.com/Ultimaker/fdm_materials",
|
||||
"author": {
|
||||
"author_id": "Generic",
|
||||
@ -1349,7 +1349,7 @@
|
||||
"display_name": "Generic TPU",
|
||||
"description": "The generic TPU profile which other profiles can be based upon.",
|
||||
"package_version": "1.4.0",
|
||||
"sdk_version": "8.1.0",
|
||||
"sdk_version": "8.2.0",
|
||||
"website": "https://github.com/Ultimaker/fdm_materials",
|
||||
"author": {
|
||||
"author_id": "Generic",
|
||||
@ -1367,7 +1367,7 @@
|
||||
"display_name": "Dagoma Chromatik PLA",
|
||||
"description": "Filament testé et approuvé pour les imprimantes 3D Dagoma. Chromatik est l'idéal pour débuter et suivre les tutoriels premiers pas. Il vous offre qualité et résistance pour chacune de vos impressions.",
|
||||
"package_version": "1.0.1",
|
||||
"sdk_version": "8.1.0",
|
||||
"sdk_version": "8.2.0",
|
||||
"website": "https://dagoma.fr/boutique/filaments.html",
|
||||
"author": {
|
||||
"author_id": "Dagoma",
|
||||
@ -1384,7 +1384,7 @@
|
||||
"display_name": "FABtotum ABS",
|
||||
"description": "This material is easy to be extruded but it is not the simplest to use. It is one of the most used in 3D printing to get very well finished objects. It is not sustainable and its smoke can be dangerous if inhaled. The reason to prefer this filament to PLA is mainly because of its precision and mechanical specs. ABS (for plastic) stands for Acrylonitrile Butadiene Styrene and it is a thermoplastic which is widely used in everyday objects. It can be printed with any FFF 3D printer which can get to high temperatures as it must be extruded in a range between 220° and 245°, so it’s compatible with all versions of the FABtotum Personal fabricator.",
|
||||
"package_version": "1.4.0",
|
||||
"sdk_version": "8.1.0",
|
||||
"sdk_version": "8.2.0",
|
||||
"website": "https://store.fabtotum.com/eu/products/filaments.html?filament_type=40",
|
||||
"author": {
|
||||
"author_id": "FABtotum",
|
||||
@ -1401,7 +1401,7 @@
|
||||
"display_name": "FABtotum Nylon",
|
||||
"description": "When 3D printing started this material was not listed among the extrudable filaments. It is flexible as well as resistant to tractions. It is well known for its uses in textile but also in industries which require a strong and flexible material. There are different kinds of Nylon: 3D printing mostly uses Nylon 6 and Nylon 6.6, which are the most common. It requires higher temperatures to be printed, so a 3D printer must be able to reach them (around 240°C): the FABtotum, of course, can.",
|
||||
"package_version": "1.4.0",
|
||||
"sdk_version": "8.1.0",
|
||||
"sdk_version": "8.2.0",
|
||||
"website": "https://store.fabtotum.com/eu/products/filaments.html?filament_type=53",
|
||||
"author": {
|
||||
"author_id": "FABtotum",
|
||||
@ -1418,7 +1418,7 @@
|
||||
"display_name": "FABtotum PLA",
|
||||
"description": "It is the most common filament used for 3D printing. It is studied to be bio-degradable as it comes from corn starch’s sugar mainly. It is completely made of renewable sources and has no footprint on polluting. PLA stands for PolyLactic Acid and it is a thermoplastic that today is still considered the easiest material to be 3D printed. It can be extruded at lower temperatures: the standard range of FABtotum’s one is between 185° and 195°.",
|
||||
"package_version": "1.4.0",
|
||||
"sdk_version": "8.1.0",
|
||||
"sdk_version": "8.2.0",
|
||||
"website": "https://store.fabtotum.com/eu/products/filaments.html?filament_type=39",
|
||||
"author": {
|
||||
"author_id": "FABtotum",
|
||||
@ -1435,7 +1435,7 @@
|
||||
"display_name": "FABtotum TPU Shore 98A",
|
||||
"description": "",
|
||||
"package_version": "1.4.0",
|
||||
"sdk_version": "8.1.0",
|
||||
"sdk_version": "8.2.0",
|
||||
"website": "https://store.fabtotum.com/eu/products/filaments.html?filament_type=66",
|
||||
"author": {
|
||||
"author_id": "FABtotum",
|
||||
@ -1452,7 +1452,7 @@
|
||||
"display_name": "Fiberlogy HD PLA",
|
||||
"description": "With our HD PLA you have many more options. You can use this material in two ways. Choose the one you like best. You can use it as a normal PLA and get prints characterized by a very good adhesion between the layers and high precision. You can also make your prints acquire similar properties to that of ABS – better impact resistance and high temperature resistance. All you need is an oven. Yes, an oven! By annealing our HD PLA in an oven, in accordance with the manual, you will avoid all the inconveniences of printing with ABS, such as unpleasant odour or hazardous fumes.",
|
||||
"package_version": "1.0.1",
|
||||
"sdk_version": "8.1.0",
|
||||
"sdk_version": "8.2.0",
|
||||
"website": "http://fiberlogy.com/en/fiberlogy-filaments/filament-hd-pla/",
|
||||
"author": {
|
||||
"author_id": "Fiberlogy",
|
||||
@ -1469,7 +1469,7 @@
|
||||
"display_name": "Filo3D PLA",
|
||||
"description": "Fast, safe and reliable printing. PLA is ideal for the fast and reliable printing of parts and prototypes with a great surface quality.",
|
||||
"package_version": "1.0.1",
|
||||
"sdk_version": "8.1.0",
|
||||
"sdk_version": "8.2.0",
|
||||
"website": "https://dagoma.fr",
|
||||
"author": {
|
||||
"author_id": "Dagoma",
|
||||
@ -1486,7 +1486,7 @@
|
||||
"display_name": "IMADE3D JellyBOX PETG",
|
||||
"description": "",
|
||||
"package_version": "1.0.1",
|
||||
"sdk_version": "8.1.0",
|
||||
"sdk_version": "8.2.0",
|
||||
"website": "http://shop.imade3d.com/filament.html",
|
||||
"author": {
|
||||
"author_id": "IMADE3D",
|
||||
@ -1503,7 +1503,7 @@
|
||||
"display_name": "IMADE3D JellyBOX PLA",
|
||||
"description": "",
|
||||
"package_version": "1.0.1",
|
||||
"sdk_version": "8.1.0",
|
||||
"sdk_version": "8.2.0",
|
||||
"website": "http://shop.imade3d.com/filament.html",
|
||||
"author": {
|
||||
"author_id": "IMADE3D",
|
||||
@ -1520,7 +1520,7 @@
|
||||
"display_name": "Octofiber PLA",
|
||||
"description": "PLA material from Octofiber.",
|
||||
"package_version": "1.0.1",
|
||||
"sdk_version": "8.1.0",
|
||||
"sdk_version": "8.2.0",
|
||||
"website": "https://nl.octofiber.com/3d-printing-filament/pla.html",
|
||||
"author": {
|
||||
"author_id": "Octofiber",
|
||||
@ -1537,7 +1537,7 @@
|
||||
"display_name": "PolyFlex™ PLA",
|
||||
"description": "PolyFlex™ is a highly flexible yet easy to print 3D printing material. Featuring good elasticity and a large strain-to- failure, PolyFlex™ opens up a completely new realm of applications.",
|
||||
"package_version": "1.0.1",
|
||||
"sdk_version": "8.1.0",
|
||||
"sdk_version": "8.2.0",
|
||||
"website": "http://www.polymaker.com/shop/polyflex/",
|
||||
"author": {
|
||||
"author_id": "Polymaker",
|
||||
@ -1554,7 +1554,7 @@
|
||||
"display_name": "PolyMax™ PLA",
|
||||
"description": "PolyMax™ PLA is a 3D printing material with excellent mechanical properties and printing quality. PolyMax™ PLA has an impact resistance of up to nine times that of regular PLA, and better overall mechanical properties than ABS.",
|
||||
"package_version": "1.0.1",
|
||||
"sdk_version": "8.1.0",
|
||||
"sdk_version": "8.2.0",
|
||||
"website": "http://www.polymaker.com/shop/polymax/",
|
||||
"author": {
|
||||
"author_id": "Polymaker",
|
||||
@ -1571,7 +1571,7 @@
|
||||
"display_name": "PolyPlus™ PLA True Colour",
|
||||
"description": "PolyPlus™ PLA is a premium PLA designed for all desktop FDM/FFF 3D printers. It is produced with our patented Jam-Free™ technology that ensures consistent extrusion and prevents jams.",
|
||||
"package_version": "1.0.1",
|
||||
"sdk_version": "8.1.0",
|
||||
"sdk_version": "8.2.0",
|
||||
"website": "http://www.polymaker.com/shop/polyplus-true-colour/",
|
||||
"author": {
|
||||
"author_id": "Polymaker",
|
||||
@ -1588,7 +1588,7 @@
|
||||
"display_name": "PolyWood™ PLA",
|
||||
"description": "PolyWood™ is a wood mimic printing material that contains no actual wood ensuring a clean Jam-Free™ printing experience.",
|
||||
"package_version": "1.0.1",
|
||||
"sdk_version": "8.1.0",
|
||||
"sdk_version": "8.2.0",
|
||||
"website": "http://www.polymaker.com/shop/polywood/",
|
||||
"author": {
|
||||
"author_id": "Polymaker",
|
||||
@ -1605,7 +1605,7 @@
|
||||
"display_name": "Ultimaker ABS",
|
||||
"description": "Example package for material and quality profiles for Ultimaker materials.",
|
||||
"package_version": "1.4.0",
|
||||
"sdk_version": "8.1.0",
|
||||
"sdk_version": "8.2.0",
|
||||
"website": "https://ultimaker.com/products/materials/abs",
|
||||
"author": {
|
||||
"author_id": "UltimakerPackages",
|
||||
@ -1624,7 +1624,7 @@
|
||||
"display_name": "Ultimaker Breakaway",
|
||||
"description": "Example package for material and quality profiles for Ultimaker materials.",
|
||||
"package_version": "1.4.0",
|
||||
"sdk_version": "8.1.0",
|
||||
"sdk_version": "8.2.0",
|
||||
"website": "https://ultimaker.com/products/materials/breakaway",
|
||||
"author": {
|
||||
"author_id": "UltimakerPackages",
|
||||
@ -1643,7 +1643,7 @@
|
||||
"display_name": "Ultimaker CPE",
|
||||
"description": "Example package for material and quality profiles for Ultimaker materials.",
|
||||
"package_version": "1.4.0",
|
||||
"sdk_version": "8.1.0",
|
||||
"sdk_version": "8.2.0",
|
||||
"website": "https://ultimaker.com/products/materials/abs",
|
||||
"author": {
|
||||
"author_id": "UltimakerPackages",
|
||||
@ -1662,7 +1662,7 @@
|
||||
"display_name": "Ultimaker CPE+",
|
||||
"description": "Example package for material and quality profiles for Ultimaker materials.",
|
||||
"package_version": "1.4.0",
|
||||
"sdk_version": "8.1.0",
|
||||
"sdk_version": "8.2.0",
|
||||
"website": "https://ultimaker.com/products/materials/cpe",
|
||||
"author": {
|
||||
"author_id": "UltimakerPackages",
|
||||
@ -1681,7 +1681,7 @@
|
||||
"display_name": "Ultimaker Nylon",
|
||||
"description": "Example package for material and quality profiles for Ultimaker materials.",
|
||||
"package_version": "1.4.0",
|
||||
"sdk_version": "8.1.0",
|
||||
"sdk_version": "8.2.0",
|
||||
"website": "https://ultimaker.com/products/materials/abs",
|
||||
"author": {
|
||||
"author_id": "UltimakerPackages",
|
||||
@ -1700,7 +1700,7 @@
|
||||
"display_name": "Ultimaker PC",
|
||||
"description": "Example package for material and quality profiles for Ultimaker materials.",
|
||||
"package_version": "1.4.0",
|
||||
"sdk_version": "8.1.0",
|
||||
"sdk_version": "8.2.0",
|
||||
"website": "https://ultimaker.com/products/materials/pc",
|
||||
"author": {
|
||||
"author_id": "UltimakerPackages",
|
||||
@ -1719,7 +1719,7 @@
|
||||
"display_name": "Ultimaker PLA",
|
||||
"description": "Example package for material and quality profiles for Ultimaker materials.",
|
||||
"package_version": "1.4.0",
|
||||
"sdk_version": "8.1.0",
|
||||
"sdk_version": "8.2.0",
|
||||
"website": "https://ultimaker.com/products/materials/abs",
|
||||
"author": {
|
||||
"author_id": "UltimakerPackages",
|
||||
@ -1738,7 +1738,7 @@
|
||||
"display_name": "Ultimaker PP",
|
||||
"description": "Example package for material and quality profiles for Ultimaker materials.",
|
||||
"package_version": "1.4.0",
|
||||
"sdk_version": "8.1.0",
|
||||
"sdk_version": "8.2.0",
|
||||
"website": "https://ultimaker.com/products/materials/pp",
|
||||
"author": {
|
||||
"author_id": "UltimakerPackages",
|
||||
@ -1757,7 +1757,7 @@
|
||||
"display_name": "Ultimaker PVA",
|
||||
"description": "Example package for material and quality profiles for Ultimaker materials.",
|
||||
"package_version": "1.4.0",
|
||||
"sdk_version": "8.1.0",
|
||||
"sdk_version": "8.2.0",
|
||||
"website": "https://ultimaker.com/products/materials/abs",
|
||||
"author": {
|
||||
"author_id": "UltimakerPackages",
|
||||
@ -1776,7 +1776,7 @@
|
||||
"display_name": "Ultimaker TPU 95A",
|
||||
"description": "Example package for material and quality profiles for Ultimaker materials.",
|
||||
"package_version": "1.4.0",
|
||||
"sdk_version": "8.1.0",
|
||||
"sdk_version": "8.2.0",
|
||||
"website": "https://ultimaker.com/products/materials/tpu-95a",
|
||||
"author": {
|
||||
"author_id": "UltimakerPackages",
|
||||
@ -1795,7 +1795,7 @@
|
||||
"display_name": "Ultimaker Tough PLA",
|
||||
"description": "Example package for material and quality profiles for Ultimaker materials.",
|
||||
"package_version": "1.4.0",
|
||||
"sdk_version": "8.1.0",
|
||||
"sdk_version": "8.2.0",
|
||||
"website": "https://ultimaker.com/products/materials/tough-pla",
|
||||
"author": {
|
||||
"author_id": "UltimakerPackages",
|
||||
@ -1814,7 +1814,7 @@
|
||||
"display_name": "Vertex Delta ABS",
|
||||
"description": "ABS material and quality files for the Delta Vertex K8800.",
|
||||
"package_version": "1.4.0",
|
||||
"sdk_version": "8.1.0",
|
||||
"sdk_version": "8.2.0",
|
||||
"website": "https://vertex3dprinter.eu",
|
||||
"author": {
|
||||
"author_id": "Velleman",
|
||||
@ -1831,7 +1831,7 @@
|
||||
"display_name": "Vertex Delta PET",
|
||||
"description": "ABS material and quality files for the Delta Vertex K8800.",
|
||||
"package_version": "1.4.0",
|
||||
"sdk_version": "8.1.0",
|
||||
"sdk_version": "8.2.0",
|
||||
"website": "https://vertex3dprinter.eu",
|
||||
"author": {
|
||||
"author_id": "Velleman",
|
||||
@ -1848,7 +1848,7 @@
|
||||
"display_name": "Vertex Delta PLA",
|
||||
"description": "ABS material and quality files for the Delta Vertex K8800.",
|
||||
"package_version": "1.4.0",
|
||||
"sdk_version": "8.1.0",
|
||||
"sdk_version": "8.2.0",
|
||||
"website": "https://vertex3dprinter.eu",
|
||||
"author": {
|
||||
"author_id": "Velleman",
|
||||
@ -1865,7 +1865,7 @@
|
||||
"display_name": "Vertex Delta TPU",
|
||||
"description": "ABS material and quality files for the Delta Vertex K8800.",
|
||||
"package_version": "1.4.0",
|
||||
"sdk_version": "8.1.0",
|
||||
"sdk_version": "8.2.0",
|
||||
"website": "https://vertex3dprinter.eu",
|
||||
"author": {
|
||||
"author_id": "Velleman",
|
||||
|
@ -2989,7 +2989,7 @@
|
||||
"wall_x_material_flow_layer_0":
|
||||
{
|
||||
"label": "Initial Layer Inner Wall Flow",
|
||||
"description": "Flow compensation on the outermost wall line of the first layer.",
|
||||
"description": "Flow compensation on wall lines for all wall lines except the outermost one, but only for the first layer",
|
||||
"unit": "%",
|
||||
"type": "float",
|
||||
"default_value": 100,
|
||||
@ -4614,42 +4614,6 @@
|
||||
"settable_per_mesh": false,
|
||||
"settable_per_extruder": true
|
||||
},
|
||||
"support_conical_enabled": {
|
||||
"label": "Enable Conical Support",
|
||||
"description": "Make support areas smaller at the bottom than at the overhang.",
|
||||
"type": "bool",
|
||||
"default_value": false,
|
||||
"enabled": "support_enable and support_structure != 'tree'",
|
||||
"limit_to_extruder": "support_infill_extruder_nr",
|
||||
"settable_per_mesh": true
|
||||
},
|
||||
"support_conical_angle": {
|
||||
"label": "Conical Support Angle",
|
||||
"description": "The angle of the tilt of conical support. With 0 degrees being vertical, and 90 degrees being horizontal. Smaller angles cause the support to be more sturdy, but consist of more material. Negative angles cause the base of the support to be wider than the top.",
|
||||
"unit": "°",
|
||||
"type": "float",
|
||||
"minimum_value": "-90",
|
||||
"minimum_value_warning": "-45",
|
||||
"maximum_value_warning": "45",
|
||||
"maximum_value": "90",
|
||||
"default_value": 30,
|
||||
"enabled": "support_conical_enabled and support_enable and support_structure != 'tree'",
|
||||
"limit_to_extruder": "support_infill_extruder_nr",
|
||||
"settable_per_mesh": true
|
||||
},
|
||||
"support_conical_min_width": {
|
||||
"label": "Conical Support Minimum Width",
|
||||
"description": "Minimum width to which the base of the conical support area is reduced. Small widths can lead to unstable support structures.",
|
||||
"unit": "mm",
|
||||
"default_value": 5.0,
|
||||
"minimum_value": "0",
|
||||
"minimum_value_warning": "machine_nozzle_size * 3",
|
||||
"maximum_value_warning": "100.0",
|
||||
"type": "float",
|
||||
"enabled": "support_conical_enabled and support_enable and support_structure != 'tree' and support_conical_angle > 0",
|
||||
"limit_to_extruder": "support_infill_extruder_nr",
|
||||
"settable_per_mesh": true
|
||||
},
|
||||
"support_type":
|
||||
{
|
||||
"label": "Support Placement",
|
||||
@ -7034,6 +6998,45 @@
|
||||
"settable_per_mesh": false,
|
||||
"settable_per_extruder": true
|
||||
},
|
||||
"support_conical_enabled":
|
||||
{
|
||||
"label": "Enable Conical Support",
|
||||
"description": "Make support areas smaller at the bottom than at the overhang.",
|
||||
"type": "bool",
|
||||
"default_value": false,
|
||||
"enabled": "support_enable and support_structure != 'tree'",
|
||||
"limit_to_extruder": "support_infill_extruder_nr",
|
||||
"settable_per_mesh": true
|
||||
},
|
||||
"support_conical_angle":
|
||||
{
|
||||
"label": "Conical Support Angle",
|
||||
"description": "The angle of the tilt of conical support. With 0 degrees being vertical, and 90 degrees being horizontal. Smaller angles cause the support to be more sturdy, but consist of more material. Negative angles cause the base of the support to be wider than the top.",
|
||||
"unit": "°",
|
||||
"type": "float",
|
||||
"minimum_value": "-90",
|
||||
"minimum_value_warning": "-45",
|
||||
"maximum_value_warning": "45",
|
||||
"maximum_value": "90",
|
||||
"default_value": 30,
|
||||
"enabled": "support_conical_enabled and support_enable and support_structure != 'tree'",
|
||||
"limit_to_extruder": "support_infill_extruder_nr",
|
||||
"settable_per_mesh": true
|
||||
},
|
||||
"support_conical_min_width":
|
||||
{
|
||||
"label": "Conical Support Minimum Width",
|
||||
"description": "Minimum width to which the base of the conical support area is reduced. Small widths can lead to unstable support structures.",
|
||||
"unit": "mm",
|
||||
"default_value": 5.0,
|
||||
"minimum_value": "0",
|
||||
"minimum_value_warning": "machine_nozzle_size * 3",
|
||||
"maximum_value_warning": "100.0",
|
||||
"type": "float",
|
||||
"enabled": "support_conical_enabled and support_enable and support_structure != 'tree' and support_conical_angle > 0",
|
||||
"limit_to_extruder": "support_infill_extruder_nr",
|
||||
"settable_per_mesh": true
|
||||
},
|
||||
"magic_fuzzy_skin_enabled":
|
||||
{
|
||||
"label": "Fuzzy Skin",
|
||||
@ -8069,7 +8072,7 @@
|
||||
"label": "Remove Raft Inside Corners",
|
||||
"description": "Remove inside corners from the raft, causing the raft to become convex.",
|
||||
"type": "bool",
|
||||
"default_value": true,
|
||||
"default_value": false,
|
||||
"resolve": "any(extruderValues('raft_remove_inside_corners'))",
|
||||
"enabled": "resolveOrValue('adhesion_type') == 'raft'",
|
||||
"settable_per_mesh": false,
|
||||
|
@ -106,7 +106,7 @@
|
||||
"support_type": {"value": "'everywhere'" },
|
||||
"support_angle": {"value": "50"},
|
||||
"support_pattern": {"value": "'grid'"},
|
||||
"support_wall_count": {"value": 0},
|
||||
"support_wall_count": {"value": "1 if (support_structure == 'tree') else 0" },
|
||||
"zig_zaggify_support": {"value": false },
|
||||
"support_infill_rate": {"value": "15 if support_enable else 0"},
|
||||
"support_brim_enable": {"value": true },
|
||||
|
@ -130,7 +130,7 @@
|
||||
"support_xy_distance_overhang": { "value": "wall_line_width_0" },
|
||||
"support_z_distance": { "value": "layer_height if layer_height >= 0.16 else layer_height*2" },
|
||||
"support_xy_overrides_z": { "value": "'xy_overrides_z'" },
|
||||
"support_wall_count": { "value": 0 },
|
||||
"support_wall_count": {"value": "1 if (support_structure == 'tree') else 0" },
|
||||
"support_brim_enable": { "value": true },
|
||||
"support_brim_width": { "value": 4 },
|
||||
"support_interface_height": { "value": "layer_height * 4" },
|
||||
|
@ -93,7 +93,7 @@
|
||||
"support_xy_distance_overhang": { "value": "wall_line_width_0" },
|
||||
"support_z_distance": { "value": "layer_height if layer_height >= 0.16 else layer_height*2" },
|
||||
"support_xy_overrides_z": { "value": "'xy_overrides_z'" },
|
||||
"support_wall_count": { "value": 0 },
|
||||
"support_wall_count": {"value": "1 if (support_structure == 'tree') else 0" },
|
||||
"support_brim_enable": { "value": true },
|
||||
"support_brim_width": { "value": 5 },
|
||||
|
||||
|
@ -292,15 +292,6 @@
|
||||
},
|
||||
"support_z_distance": {
|
||||
"value": "0"
|
||||
},
|
||||
"support_conical_enabled": {
|
||||
"value": true
|
||||
},
|
||||
"support_conical_min_width": {
|
||||
"value": 10
|
||||
},
|
||||
"top_bottom_pattern": {
|
||||
"value": "'zigzag'"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -11,6 +11,7 @@ quality_type = verydraft
|
||||
material = generic_pla
|
||||
variant = AA 0.4
|
||||
is_experimental = True
|
||||
|
||||
[values]
|
||||
acceleration_print = 4000
|
||||
acceleration_wall = 2000
|
||||
|
@ -11,6 +11,7 @@ quality_type = verydraft
|
||||
material = generic_tough_pla
|
||||
variant = AA 0.4
|
||||
is_experimental = True
|
||||
|
||||
[values]
|
||||
acceleration_print = 4000
|
||||
acceleration_wall = 2000
|
||||
|
@ -11,6 +11,7 @@ quality_type = verydraft
|
||||
material = generic_pla
|
||||
variant = AA 0.4
|
||||
is_experimental = True
|
||||
|
||||
[values]
|
||||
acceleration_print = 4000
|
||||
acceleration_wall = 2000
|
||||
|
@ -11,6 +11,7 @@ quality_type = verydraft
|
||||
material = generic_tough_pla
|
||||
variant = AA 0.4
|
||||
is_experimental = True
|
||||
|
||||
[values]
|
||||
acceleration_print = 4000
|
||||
acceleration_wall = 2000
|
||||
|
@ -11,7 +11,7 @@ import Cura 1.0 as Cura
|
||||
UM.Dialog
|
||||
{
|
||||
property var manager
|
||||
|
||||
property var compatible_machine_model: Cura.CompatibleMachineModel {}
|
||||
id: base
|
||||
|
||||
title: catalog.i18nc("@title:window", "Select Printer")
|
||||
@ -53,19 +53,39 @@ UM.Dialog
|
||||
anchors.left: parent.left
|
||||
text: catalog.i18nc("@title:label", "Compatible Printers")
|
||||
font: UM.Theme.getFont("large")
|
||||
anchors.horizontalCenter: parent.horizontalCenter
|
||||
}
|
||||
|
||||
UM.SimpleButton
|
||||
TabButton
|
||||
{
|
||||
id: refreshButton
|
||||
anchors.right: parent.right
|
||||
width: UM.Theme.getSize("button_icon").width
|
||||
height: UM.Theme.getSize("button_icon").height
|
||||
hoverEnabled: true
|
||||
|
||||
width: UM.Theme.getSize("small_button").width
|
||||
height: UM.Theme.getSize("small_button").height
|
||||
iconSource: UM.Theme.getIcon("ArrowDoubleCircleRight")
|
||||
color: UM.Theme.getColor("text_link")
|
||||
hoverColor: UM.Theme.getColor("text_scene_hover")
|
||||
onClicked:
|
||||
{
|
||||
manager.refresh()
|
||||
base.compatible_machine_model.forceUpdate()
|
||||
}
|
||||
|
||||
onClicked: manager.refresh()
|
||||
background: Rectangle
|
||||
{
|
||||
width: UM.Theme.getSize("button_icon").width
|
||||
height: UM.Theme.getSize("button_icon").height
|
||||
color: refreshButton.hovered ? UM.Theme.getColor("toolbar_button_hover") : UM.Theme.getColor("toolbar_background")
|
||||
radius: Math.round(refreshButton.width * 0.5)
|
||||
}
|
||||
|
||||
UM.ColorImage
|
||||
{
|
||||
width: UM.Theme.getSize("section_icon").width
|
||||
height: UM.Theme.getSize("section_icon").height
|
||||
color: UM.Theme.getColor("text_link")
|
||||
source: UM.Theme.getIcon("ArrowDoubleCircleRight")
|
||||
anchors.horizontalCenter: parent.horizontalCenter
|
||||
anchors.verticalCenter: parent.verticalCenter
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -73,7 +93,7 @@ UM.Dialog
|
||||
{
|
||||
id: contents
|
||||
|
||||
model: Cura.CompatibleMachineModel {}
|
||||
model: base.compatible_machine_model
|
||||
|
||||
delegate: Cura.PrintSelectorCard
|
||||
{
|
||||
|
@ -40,7 +40,7 @@ Item
|
||||
UM.TabRow
|
||||
{
|
||||
id: tabBar
|
||||
anchors.top: printerTypeSelectorRow.bottom
|
||||
anchors.top: header.bottom
|
||||
anchors.topMargin: UM.Theme.getSize("default_margin").height
|
||||
visible: extrudersModel.count > 1
|
||||
|
||||
|
@ -67,16 +67,21 @@ UM.ManagementPage
|
||||
{
|
||||
width: Math.round(childrenRect.width + 2 * screenScaleFactor)
|
||||
height: childrenRect.height
|
||||
visible: machineActionRepeater.model[index].visible
|
||||
Cura.SecondaryButton
|
||||
{
|
||||
text: machineActionRepeater.model[index].label
|
||||
onClicked:
|
||||
{
|
||||
var currentItem = machineActionRepeater.model[index]
|
||||
actionDialog.loader.manager = currentItem
|
||||
actionDialog.loader.source = currentItem.qmlPath
|
||||
actionDialog.title = currentItem.label
|
||||
actionDialog.show()
|
||||
if (currentItem.shouldOpenAsDialog) {
|
||||
actionDialog.loader.manager = currentItem
|
||||
actionDialog.loader.source = currentItem.qmlPath
|
||||
actionDialog.title = currentItem.label
|
||||
actionDialog.show()
|
||||
} else {
|
||||
currentItem.execute()
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -32,7 +32,7 @@ Item
|
||||
{
|
||||
profileName: model.name
|
||||
icon: model.icon
|
||||
|
||||
tooltipText: model.description ? model.description : ""
|
||||
|
||||
selected: Cura.MachineManager.activeIntentCategory == model.intent_category
|
||||
|
||||
|
@ -19,6 +19,7 @@ Rectangle
|
||||
property bool selected: false
|
||||
property string profileName: ""
|
||||
property string icon: ""
|
||||
property alias tooltipText: tooltip.text
|
||||
|
||||
signal clicked()
|
||||
|
||||
@ -30,6 +31,14 @@ Rectangle
|
||||
onClicked: base.clicked()
|
||||
}
|
||||
|
||||
UM.ToolTip
|
||||
{
|
||||
id: tooltip
|
||||
visible: mouseArea.containsMouse
|
||||
targetPoint: Qt.point(base.x + (base.width / 2), base.y + (base.height / 2))
|
||||
width: UM.Theme.getSize("tooltip").width
|
||||
}
|
||||
|
||||
Item
|
||||
{
|
||||
width: intentIcon.width
|
||||
|
@ -15,6 +15,7 @@ Rectangle
|
||||
property var extruders
|
||||
property var manager
|
||||
|
||||
|
||||
width: parent.width
|
||||
height: childrenRect.height + 2 * UM.Theme.getSize("default_margin").height
|
||||
|
||||
@ -35,7 +36,7 @@ Rectangle
|
||||
|
||||
Layout.preferredWidth: parent.width / 3
|
||||
Layout.fillWidth: true
|
||||
Layout.alignment: Qt.AlignTop
|
||||
Layout.alignment: extruders[0].materials.length > 1 ? Qt.AlignTop: Qt.AlignCenter
|
||||
Layout.fillHeight: false
|
||||
|
||||
source: UM.Theme.getIcon("Printer")
|
||||
@ -50,7 +51,7 @@ Rectangle
|
||||
Layout.fillWidth: true
|
||||
Layout.preferredWidth: parent.width / 2
|
||||
Layout.alignment: Qt.AlignTop
|
||||
spacing: UM.Theme.getSize("default_margin").width
|
||||
spacing: UM.Theme.getSize("narrow_margin").width
|
||||
|
||||
Repeater
|
||||
{
|
||||
@ -58,6 +59,7 @@ Rectangle
|
||||
|
||||
Item
|
||||
{
|
||||
Layout.preferredWidth: extruderInformation.width
|
||||
height: childrenRect.height
|
||||
|
||||
Cura.ExtruderIcon
|
||||
@ -83,12 +85,12 @@ Rectangle
|
||||
{
|
||||
id: singleMaterialText
|
||||
anchors.left: extruderCore.right
|
||||
anchors.right: parent.right
|
||||
anchors.verticalCenter: extruderCore.verticalCenter
|
||||
anchors.leftMargin: UM.Theme.getSize("default_margin").width
|
||||
text: modelData.materials.length == 1 ? `${modelData.materials[0].brand} ${modelData.materials[0].name}` : ""
|
||||
visible: modelData.materials.length == 1
|
||||
}
|
||||
|
||||
ColumnLayout
|
||||
{
|
||||
id: multiMaterialText
|
||||
@ -98,7 +100,7 @@ Rectangle
|
||||
visible: modelData.materials.length > 1
|
||||
Repeater
|
||||
{
|
||||
model: modelData.materials
|
||||
model: modelData.materials.length > 1 ? modelData.materials: null
|
||||
UM.Label
|
||||
{
|
||||
text: `${modelData.brand} ${modelData.name}`
|
||||
@ -113,9 +115,9 @@ Rectangle
|
||||
{
|
||||
id: printButton
|
||||
|
||||
implicitWidth: UM.Theme.getSize("medium_button").width
|
||||
implicitWidth: UM.Theme.getSize("large_button").width
|
||||
implicitHeight: implicitWidth
|
||||
Layout.alignment: Qt.AlignTop
|
||||
Layout.alignment: extruders[0].materials.length > 1 ? Qt.AlignTop: Qt.AlignCenter
|
||||
padding: 0
|
||||
|
||||
background: Rectangle
|
||||
@ -132,7 +134,7 @@ Rectangle
|
||||
anchors.centerIn: parent
|
||||
source: UM.Theme.getIcon("Printer")
|
||||
color: UM.Theme.getColor("border_accent_1")
|
||||
width: UM.Theme.getSize("small_button_icon").width
|
||||
width: UM.Theme.getSize("medium_button_icon").width
|
||||
height: width
|
||||
}
|
||||
}
|
||||
|
@ -11,6 +11,7 @@ weight = 0
|
||||
material = generic_pc
|
||||
variant = AA 0.25
|
||||
is_experimental = True
|
||||
|
||||
[values]
|
||||
brim_width = 20
|
||||
cool_fan_full_at_height = =layer_height_0 + layer_height
|
||||
|
@ -19,8 +19,8 @@ infill_overlap = =0 if infill_sparse_density > 80 else 10
|
||||
infill_pattern = ='zigzag' if infill_sparse_density > 80 else 'grid'
|
||||
machine_nozzle_cool_down_speed = 0.9
|
||||
machine_nozzle_heat_up_speed = 1.4
|
||||
material_final_print_temperature = =max(-273.15, material_print_temperature - 15)
|
||||
material_initial_print_temperature = =max(-273.15, material_print_temperature - 10)
|
||||
material_final_print_temperature = =material_print_temperature - 15
|
||||
material_initial_print_temperature = =material_print_temperature - 10
|
||||
material_print_temperature = 190
|
||||
retraction_hop = 0.2
|
||||
skin_overlap = 5
|
||||
|
@ -11,6 +11,7 @@ weight = 0
|
||||
material = generic_pp
|
||||
variant = AA 0.25
|
||||
is_experimental = True
|
||||
|
||||
[values]
|
||||
brim_width = 10
|
||||
cool_fan_speed_max = 100
|
||||
|
@ -19,8 +19,8 @@ infill_overlap = =0 if infill_sparse_density > 80 else 10
|
||||
infill_pattern = ='zigzag' if infill_sparse_density > 80 else 'grid'
|
||||
machine_nozzle_cool_down_speed = 0.9
|
||||
machine_nozzle_heat_up_speed = 1.4
|
||||
material_final_print_temperature = =max(-273.15, material_print_temperature - 15)
|
||||
material_initial_print_temperature = =max(-273.15, material_print_temperature - 10)
|
||||
material_final_print_temperature = =material_print_temperature - 15
|
||||
material_initial_print_temperature = =material_print_temperature - 10
|
||||
material_print_temperature = =default_material_print_temperature - 15
|
||||
skin_overlap = 5
|
||||
speed_layer_0 = =math.ceil(speed_print * 30 / 30)
|
||||
|
@ -26,7 +26,7 @@ speed_wall_0 = =math.ceil(speed_wall * 30 / 40)
|
||||
support_angle = 45
|
||||
support_bottom_distance = =math.ceil(min(extruderValues('material_adhesion_tendency')) / 2) * layer_height
|
||||
support_brim_enable = True
|
||||
support_infill_sparse_thickness = =2*layer_height
|
||||
support_infill_sparse_thickness = =2 * layer_height
|
||||
support_interface_density = =min(extruderValues('material_surface_energy'))
|
||||
support_interface_enable = True
|
||||
support_top_distance = =math.ceil(min(extruderValues('material_adhesion_tendency')) / 1) * layer_height
|
||||
|
@ -24,7 +24,7 @@ speed_layer_0 = =math.ceil(speed_print * 20 / 70)
|
||||
support_angle = 45
|
||||
support_bottom_distance = =math.ceil(min(extruderValues('material_adhesion_tendency')) / 2) * layer_height
|
||||
support_brim_enable = True
|
||||
support_infill_sparse_thickness = =2*layer_height
|
||||
support_infill_sparse_thickness = =2 * layer_height
|
||||
support_interface_density = =min(extruderValues('material_surface_energy'))
|
||||
support_interface_enable = True
|
||||
support_top_distance = =math.ceil(min(extruderValues('material_adhesion_tendency')) / 1) * layer_height
|
||||
|
@ -11,6 +11,7 @@ weight = -3
|
||||
material = generic_bam
|
||||
variant = AA 0.4
|
||||
is_experimental = True
|
||||
|
||||
[values]
|
||||
brim_replaces_support = False
|
||||
cool_fan_full_at_height = =layer_height_0 + 2 * layer_height
|
||||
|
@ -11,6 +11,7 @@ weight = -3
|
||||
material = generic_pla
|
||||
variant = AA 0.4
|
||||
is_experimental = True
|
||||
|
||||
[values]
|
||||
acceleration_print = 2000
|
||||
acceleration_topbottom = 1000
|
||||
|
@ -18,7 +18,7 @@ cool_min_speed = 7
|
||||
layer_height_0 = 0.2
|
||||
machine_nozzle_cool_down_speed = 0.75
|
||||
machine_nozzle_heat_up_speed = 1.6
|
||||
material_print_temperature = =default_material_print_temperature -10
|
||||
material_print_temperature = =default_material_print_temperature - 10
|
||||
prime_tower_enable = False
|
||||
retraction_prime_speed = =retraction_speed
|
||||
skin_overlap = 20
|
||||
|
@ -17,7 +17,7 @@ cool_fan_speed_max = =cool_fan_speed
|
||||
layer_height_0 = 0.2
|
||||
machine_nozzle_cool_down_speed = 0.75
|
||||
machine_nozzle_heat_up_speed = 1.6
|
||||
material_print_temperature = =default_material_print_temperature -10
|
||||
material_print_temperature = =default_material_print_temperature - 10
|
||||
prime_tower_enable = False
|
||||
retraction_prime_speed = =retraction_speed
|
||||
speed_layer_0 = =math.ceil(speed_print * 20 / 45)
|
||||
|
@ -11,6 +11,7 @@ weight = -3
|
||||
material = generic_tough_pla
|
||||
variant = AA 0.4
|
||||
is_experimental = True
|
||||
|
||||
[values]
|
||||
acceleration_print = 2000
|
||||
acceleration_topbottom = 1000
|
||||
|
@ -11,6 +11,7 @@ weight = -1
|
||||
material = generic_cpe_plus
|
||||
variant = AA 0.8
|
||||
is_experimental = True
|
||||
|
||||
[values]
|
||||
brim_width = 14
|
||||
cool_fan_full_at_height = =layer_height_0 + 14 * layer_height
|
||||
|
@ -11,6 +11,7 @@ weight = -4
|
||||
material = generic_cpe_plus
|
||||
variant = AA 0.8
|
||||
is_experimental = True
|
||||
|
||||
[values]
|
||||
brim_width = 14
|
||||
cool_fan_full_at_height = =layer_height_0 + 7 * layer_height
|
||||
|
@ -11,6 +11,7 @@ weight = -3
|
||||
material = generic_cpe_plus
|
||||
variant = AA 0.8
|
||||
is_experimental = True
|
||||
|
||||
[values]
|
||||
brim_width = 14
|
||||
cool_fan_full_at_height = =layer_height_0 + 9 * layer_height
|
||||
|
@ -11,6 +11,7 @@ weight = -1
|
||||
material = generic_pc
|
||||
variant = AA 0.8
|
||||
is_experimental = True
|
||||
|
||||
[values]
|
||||
brim_width = 14
|
||||
cool_fan_full_at_height = =layer_height_0 + 14 * layer_height
|
||||
|
@ -11,6 +11,7 @@ weight = -4
|
||||
material = generic_pc
|
||||
variant = AA 0.8
|
||||
is_experimental = True
|
||||
|
||||
[values]
|
||||
brim_width = 14
|
||||
cool_fan_full_at_height = =layer_height_0 + 7 * layer_height
|
||||
|
@ -11,6 +11,7 @@ weight = -3
|
||||
material = generic_pc
|
||||
variant = AA 0.8
|
||||
is_experimental = True
|
||||
|
||||
[values]
|
||||
brim_width = 14
|
||||
cool_fan_full_at_height = =layer_height_0 + 9 * layer_height
|
||||
|
@ -19,8 +19,8 @@ gradual_infill_step_height = =3 * layer_height
|
||||
layer_height_0 = 0.4
|
||||
machine_nozzle_cool_down_speed = 0.75
|
||||
machine_nozzle_heat_up_speed = 1.6
|
||||
material_final_print_temperature = =max(-273.15, material_print_temperature - 15)
|
||||
material_initial_print_temperature = =max(-273.15, material_print_temperature - 10)
|
||||
material_final_print_temperature = =material_print_temperature - 15
|
||||
material_initial_print_temperature = =material_print_temperature - 10
|
||||
material_print_temperature = =default_material_print_temperature + 10
|
||||
prime_tower_enable = True
|
||||
speed_print = 45
|
||||
|
@ -19,8 +19,8 @@ gradual_infill_step_height = =3 * layer_height
|
||||
layer_height_0 = 0.4
|
||||
machine_nozzle_cool_down_speed = 0.75
|
||||
machine_nozzle_heat_up_speed = 1.6
|
||||
material_final_print_temperature = =max(-273.15, material_print_temperature - 15)
|
||||
material_initial_print_temperature = =max(-273.15, material_print_temperature - 10)
|
||||
material_final_print_temperature = =material_print_temperature - 15
|
||||
material_initial_print_temperature = =material_print_temperature - 10
|
||||
material_print_temperature = =default_material_print_temperature + 15
|
||||
prime_tower_enable = True
|
||||
speed_infill = =math.ceil(speed_print * 35 / 45)
|
||||
|
@ -19,8 +19,8 @@ gradual_infill_step_height = =3 * layer_height
|
||||
layer_height_0 = 0.4
|
||||
machine_nozzle_cool_down_speed = 0.75
|
||||
machine_nozzle_heat_up_speed = 1.6
|
||||
material_final_print_temperature = =max(-273.15, material_print_temperature - 15)
|
||||
material_initial_print_temperature = =max(-273.15, material_print_temperature - 10)
|
||||
material_final_print_temperature = =material_print_temperature - 15
|
||||
material_initial_print_temperature = =material_print_temperature - 10
|
||||
material_print_temperature = =default_material_print_temperature + 10
|
||||
prime_tower_enable = True
|
||||
speed_print = 45
|
||||
|
@ -20,8 +20,8 @@ infill_pattern = ='zigzag' if infill_sparse_density > 80 else 'cubic'
|
||||
layer_height_0 = 0.4
|
||||
machine_nozzle_cool_down_speed = 0.75
|
||||
machine_nozzle_heat_up_speed = 1.6
|
||||
material_final_print_temperature = =max(-273.15, material_print_temperature - 15)
|
||||
material_initial_print_temperature = =max(-273.15, material_print_temperature - 10)
|
||||
material_final_print_temperature = =material_print_temperature - 15
|
||||
material_initial_print_temperature = =material_print_temperature - 10
|
||||
material_print_temperature = =default_material_print_temperature + 0
|
||||
prime_tower_enable = False
|
||||
speed_print = 45
|
||||
|
@ -20,14 +20,14 @@ infill_pattern = ='zigzag' if infill_sparse_density > 80 else 'cubic'
|
||||
layer_height_0 = 0.4
|
||||
machine_nozzle_cool_down_speed = 0.75
|
||||
machine_nozzle_heat_up_speed = 1.6
|
||||
material_final_print_temperature = =max(-273.15, material_print_temperature - 15)
|
||||
material_initial_print_temperature = =max(-273.15, material_print_temperature - 10)
|
||||
material_final_print_temperature = =material_print_temperature - 15
|
||||
material_initial_print_temperature = =material_print_temperature - 10
|
||||
material_print_temperature = =default_material_print_temperature + 5
|
||||
prime_tower_enable = False
|
||||
speed_infill = =math.ceil(speed_print * 30 / 30)
|
||||
speed_print = 30
|
||||
speed_topbottom = =math.ceil(speed_print * 20 / 30)
|
||||
speed_wall = =math.ceil(speed_print * 25/ 30)
|
||||
speed_wall = =math.ceil(speed_print * 25 / 30)
|
||||
speed_wall_0 = =math.ceil(speed_print * 20 / 30)
|
||||
support_angle = 70
|
||||
top_bottom_thickness = =layer_height * 4
|
||||
|
@ -20,15 +20,15 @@ infill_pattern = ='zigzag' if infill_sparse_density > 80 else 'cubic'
|
||||
layer_height_0 = 0.4
|
||||
machine_nozzle_cool_down_speed = 0.75
|
||||
machine_nozzle_heat_up_speed = 1.6
|
||||
material_final_print_temperature = =max(-273.15, material_print_temperature - 15)
|
||||
material_initial_print_temperature = =max(-273.15, material_print_temperature - 10)
|
||||
material_final_print_temperature = =material_print_temperature - 15
|
||||
material_initial_print_temperature = =material_print_temperature - 10
|
||||
material_print_temperature = =default_material_print_temperature + 5
|
||||
material_print_temperature_layer_0 = =material_print_temperature
|
||||
prime_tower_enable = False
|
||||
speed_infill = =math.ceil(speed_print * 30 / 35)
|
||||
speed_print = 35
|
||||
speed_topbottom = =math.ceil(speed_print * 20 / 35)
|
||||
speed_wall = =math.ceil(speed_print * 25/ 35)
|
||||
speed_wall = =math.ceil(speed_print * 25 / 35)
|
||||
speed_wall_0 = =math.ceil(speed_print * 20 / 35)
|
||||
support_angle = 70
|
||||
top_bottom_thickness = =layer_height * 4
|
||||
|
@ -18,7 +18,7 @@ material_print_temperature = =default_material_print_temperature + 10
|
||||
prime_tower_enable = False
|
||||
retraction_count_max = 5
|
||||
skin_overlap = 20
|
||||
skirt_brim_minimal_length = =min(2000, 175/(layer_height*line_width))
|
||||
skirt_brim_minimal_length = =min(2000, 175 / (layer_height * line_width))
|
||||
support_brim_enable = True
|
||||
support_interface_enable = True
|
||||
support_use_towers = True
|
||||
|
@ -18,8 +18,8 @@ material_print_temperature = =default_material_print_temperature + 5
|
||||
prime_tower_enable = False
|
||||
retraction_count_max = 5
|
||||
skin_overlap = 15
|
||||
skirt_brim_minimal_length = =min(2000, 175/(layer_height*line_width))
|
||||
skirt_brim_minimal_length = =min(2000, 175 / (layer_height * line_width))
|
||||
support_brim_enable = True
|
||||
support_infill_sparse_thickness = =2*layer_height
|
||||
support_infill_sparse_thickness = =2 * layer_height
|
||||
support_interface_enable = True
|
||||
support_use_towers = True
|
||||
|
@ -16,8 +16,8 @@ brim_replaces_support = False
|
||||
cool_fan_enabled = =not (support_enable and (extruder_nr == support_infill_extruder_nr))
|
||||
prime_tower_enable = False
|
||||
retraction_count_max = 5
|
||||
skirt_brim_minimal_length = =min(2000, 175/(layer_height*line_width))
|
||||
skirt_brim_minimal_length = =min(2000, 175 / (layer_height * line_width))
|
||||
support_brim_enable = True
|
||||
support_infill_sparse_thickness = =3*layer_height
|
||||
support_infill_sparse_thickness = =3 * layer_height
|
||||
support_interface_enable = True
|
||||
support_use_towers = True
|
||||
|
@ -16,8 +16,8 @@ brim_replaces_support = False
|
||||
cool_fan_enabled = =not (support_enable and (extruder_nr == support_infill_extruder_nr))
|
||||
prime_tower_enable = False
|
||||
retraction_count_max = 5
|
||||
skirt_brim_minimal_length = =min(2000, 175/(layer_height*line_width))
|
||||
skirt_brim_minimal_length = =min(2000, 175 / (layer_height * line_width))
|
||||
support_brim_enable = True
|
||||
support_infill_sparse_thickness = =2*layer_height
|
||||
support_infill_sparse_thickness = =2 * layer_height
|
||||
support_interface_enable = True
|
||||
support_use_towers = True
|
||||
|
@ -11,11 +11,12 @@ weight = -3
|
||||
material = generic_pva
|
||||
variant = BB 0.4
|
||||
is_experimental = True
|
||||
|
||||
[values]
|
||||
brim_replaces_support = False
|
||||
cool_fan_enabled = =not (support_enable and (extruder_nr == support_infill_extruder_nr))
|
||||
retraction_count_max = 5
|
||||
skirt_brim_minimal_length = =min(2000, 175/(layer_height*line_width))
|
||||
skirt_brim_minimal_length = =min(2000, 175 / (layer_height * line_width))
|
||||
support_brim_enable = True
|
||||
support_infill_sparse_thickness = 0.3
|
||||
support_interface_enable = True
|
||||
|
@ -16,7 +16,7 @@ brim_replaces_support = False
|
||||
cool_fan_enabled = =not (support_enable and (extruder_nr == support_infill_extruder_nr))
|
||||
material_print_temperature = =default_material_print_temperature + 5
|
||||
retraction_count_max = 5
|
||||
skirt_brim_minimal_length = =min(2000, 175/(layer_height*line_width))
|
||||
skirt_brim_minimal_length = =min(2000, 175 / (layer_height * line_width))
|
||||
support_brim_enable = True
|
||||
support_interface_enable = True
|
||||
support_use_towers = True
|
||||
|
@ -15,7 +15,7 @@ variant = BB 0.8
|
||||
brim_replaces_support = False
|
||||
cool_fan_enabled = =not (support_enable and (extruder_nr == support_infill_extruder_nr))
|
||||
retraction_count_max = 5
|
||||
skirt_brim_minimal_length = =min(2000, 175/(layer_height*line_width))
|
||||
skirt_brim_minimal_length = =min(2000, 175 / (layer_height * line_width))
|
||||
support_brim_enable = True
|
||||
support_interface_enable = True
|
||||
support_use_towers = True
|
||||
|
@ -15,7 +15,7 @@ variant = BB 0.8
|
||||
brim_replaces_support = False
|
||||
cool_fan_enabled = =not (support_enable and (extruder_nr == support_infill_extruder_nr))
|
||||
retraction_count_max = 5
|
||||
skirt_brim_minimal_length = =min(2000, 175/(layer_height*line_width))
|
||||
skirt_brim_minimal_length = =min(2000, 175 / (layer_height * line_width))
|
||||
support_brim_enable = True
|
||||
support_infill_sparse_thickness = 0.3
|
||||
support_interface_enable = True
|
||||
|
@ -11,6 +11,7 @@ weight = -2
|
||||
material = generic_pla
|
||||
variant = CC 0.4
|
||||
is_experimental = True
|
||||
|
||||
[values]
|
||||
cool_fan_full_at_height = =layer_height_0 + 2 * layer_height
|
||||
cool_fan_speed_max = =100
|
||||
@ -19,8 +20,8 @@ gradual_infill_step_height = =3 * layer_height
|
||||
infill_pattern = ='zigzag' if infill_sparse_density > 80 else 'triangles'
|
||||
machine_nozzle_cool_down_speed = 0.75
|
||||
machine_nozzle_heat_up_speed = 1.6
|
||||
material_final_print_temperature = =max(-273.15, material_print_temperature - 15)
|
||||
material_initial_print_temperature = =max(-273.15, material_print_temperature - 10)
|
||||
material_final_print_temperature = =material_print_temperature - 15
|
||||
material_initial_print_temperature = =material_print_temperature - 10
|
||||
material_print_temperature = =default_material_print_temperature + 10
|
||||
prime_tower_enable = True
|
||||
speed_print = 45
|
||||
|
@ -11,6 +11,7 @@ weight = -1
|
||||
material = generic_pla
|
||||
variant = CC 0.4
|
||||
is_experimental = True
|
||||
|
||||
[values]
|
||||
cool_fan_full_at_height = =layer_height_0 + 2 * layer_height
|
||||
cool_fan_speed_max = =100
|
||||
@ -19,8 +20,8 @@ gradual_infill_step_height = =3 * layer_height
|
||||
infill_pattern = ='zigzag' if infill_sparse_density > 80 else 'triangles'
|
||||
machine_nozzle_cool_down_speed = 0.75
|
||||
machine_nozzle_heat_up_speed = 1.6
|
||||
material_final_print_temperature = =max(-273.15, material_print_temperature - 15)
|
||||
material_initial_print_temperature = =max(-273.15, material_print_temperature - 10)
|
||||
material_final_print_temperature = =material_print_temperature - 15
|
||||
material_initial_print_temperature = =material_print_temperature - 10
|
||||
material_print_temperature = =default_material_print_temperature + 10
|
||||
prime_tower_enable = True
|
||||
speed_print = 45
|
||||
|
@ -11,6 +11,7 @@ weight = -2
|
||||
material = generic_pla
|
||||
variant = CC 0.6
|
||||
is_experimental = True
|
||||
|
||||
[values]
|
||||
cool_fan_full_at_height = =layer_height_0 + 2 * layer_height
|
||||
cool_fan_speed_max = =100
|
||||
@ -19,8 +20,8 @@ gradual_infill_step_height = =3 * layer_height
|
||||
infill_pattern = ='zigzag' if infill_sparse_density > 80 else 'triangles'
|
||||
machine_nozzle_cool_down_speed = 0.75
|
||||
machine_nozzle_heat_up_speed = 1.6
|
||||
material_final_print_temperature = =max(-273.15, material_print_temperature - 15)
|
||||
material_initial_print_temperature = =max(-273.15, material_print_temperature - 10)
|
||||
material_final_print_temperature = =material_print_temperature - 15
|
||||
material_initial_print_temperature = =material_print_temperature - 10
|
||||
material_print_temperature = =default_material_print_temperature + 10
|
||||
prime_tower_enable = True
|
||||
speed_print = 45
|
||||
|
@ -11,6 +11,7 @@ weight = -1
|
||||
material = generic_pla
|
||||
variant = CC 0.6
|
||||
is_experimental = True
|
||||
|
||||
[values]
|
||||
cool_fan_full_at_height = =layer_height_0 + 2 * layer_height
|
||||
cool_fan_speed_max = =100
|
||||
@ -19,8 +20,8 @@ gradual_infill_step_height = =3 * layer_height
|
||||
infill_pattern = ='zigzag' if infill_sparse_density > 80 else 'triangles'
|
||||
machine_nozzle_cool_down_speed = 0.75
|
||||
machine_nozzle_heat_up_speed = 1.6
|
||||
material_final_print_temperature = =max(-273.15, material_print_temperature - 15)
|
||||
material_initial_print_temperature = =max(-273.15, material_print_temperature - 10)
|
||||
material_final_print_temperature = =material_print_temperature - 15
|
||||
material_initial_print_temperature = =material_print_temperature - 10
|
||||
material_print_temperature = =default_material_print_temperature + 10
|
||||
prime_tower_enable = True
|
||||
speed_print = 45
|
||||
|
@ -11,6 +11,7 @@ weight = 0
|
||||
material = generic_pc
|
||||
variant = AA 0.25
|
||||
is_experimental = True
|
||||
|
||||
[values]
|
||||
brim_width = 20
|
||||
cool_fan_full_at_height = =layer_height_0 + layer_height
|
||||
|
@ -19,8 +19,8 @@ infill_overlap = =0 if infill_sparse_density > 80 else 10
|
||||
infill_pattern = ='zigzag' if infill_sparse_density > 80 else 'grid'
|
||||
machine_nozzle_cool_down_speed = 0.9
|
||||
machine_nozzle_heat_up_speed = 1.4
|
||||
material_final_print_temperature = =max(-273.15, material_print_temperature - 15)
|
||||
material_initial_print_temperature = =max(-273.15, material_print_temperature - 10)
|
||||
material_final_print_temperature = =material_print_temperature - 15
|
||||
material_initial_print_temperature = =material_print_temperature - 10
|
||||
material_print_temperature = 190
|
||||
retraction_hop = 0.2
|
||||
skin_overlap = 5
|
||||
|
@ -11,6 +11,7 @@ weight = 0
|
||||
material = generic_pp
|
||||
variant = AA 0.25
|
||||
is_experimental = True
|
||||
|
||||
[values]
|
||||
brim_width = 10
|
||||
cool_fan_speed_max = 100
|
||||
|
@ -19,8 +19,8 @@ infill_overlap = =0 if infill_sparse_density > 80 else 10
|
||||
infill_pattern = ='zigzag' if infill_sparse_density > 80 else 'grid'
|
||||
machine_nozzle_cool_down_speed = 0.9
|
||||
machine_nozzle_heat_up_speed = 1.4
|
||||
material_final_print_temperature = =max(-273.15, material_print_temperature - 15)
|
||||
material_initial_print_temperature = =max(-273.15, material_print_temperature - 10)
|
||||
material_final_print_temperature = =material_print_temperature - 15
|
||||
material_initial_print_temperature = =material_print_temperature - 10
|
||||
material_print_temperature = =default_material_print_temperature - 15
|
||||
skin_overlap = 5
|
||||
speed_layer_0 = =math.ceil(speed_print * 30 / 30)
|
||||
|
@ -26,7 +26,7 @@ speed_wall_0 = =math.ceil(speed_wall * 30 / 40)
|
||||
support_angle = 45
|
||||
support_bottom_distance = =math.ceil(min(extruderValues('material_adhesion_tendency')) / 2) * layer_height
|
||||
support_brim_enable = True
|
||||
support_infill_sparse_thickness = =2*layer_height
|
||||
support_infill_sparse_thickness = =2 * layer_height
|
||||
support_interface_density = =min(extruderValues('material_surface_energy'))
|
||||
support_interface_enable = True
|
||||
support_top_distance = =math.ceil(min(extruderValues('material_adhesion_tendency')) / 1) * layer_height
|
||||
|
@ -24,7 +24,7 @@ speed_layer_0 = =math.ceil(speed_print * 20 / 70)
|
||||
support_angle = 45
|
||||
support_bottom_distance = =math.ceil(min(extruderValues('material_adhesion_tendency')) / 2) * layer_height
|
||||
support_brim_enable = True
|
||||
support_infill_sparse_thickness = =2*layer_height
|
||||
support_infill_sparse_thickness = =2 * layer_height
|
||||
support_interface_density = =min(extruderValues('material_surface_energy'))
|
||||
support_interface_enable = True
|
||||
support_top_distance = =math.ceil(min(extruderValues('material_adhesion_tendency')) / 1) * layer_height
|
||||
|
@ -11,6 +11,7 @@ weight = -3
|
||||
material = generic_bam
|
||||
variant = AA 0.4
|
||||
is_experimental = True
|
||||
|
||||
[values]
|
||||
brim_replaces_support = False
|
||||
cool_fan_full_at_height = =layer_height_0 + 2 * layer_height
|
||||
|
@ -11,6 +11,7 @@ weight = -3
|
||||
material = generic_pla
|
||||
variant = AA 0.4
|
||||
is_experimental = True
|
||||
|
||||
[values]
|
||||
acceleration_print = 2000
|
||||
acceleration_topbottom = 1000
|
||||
|
@ -18,7 +18,7 @@ cool_min_speed = 7
|
||||
layer_height_0 = 0.2
|
||||
machine_nozzle_cool_down_speed = 0.75
|
||||
machine_nozzle_heat_up_speed = 1.6
|
||||
material_print_temperature = =default_material_print_temperature -10
|
||||
material_print_temperature = =default_material_print_temperature - 10
|
||||
prime_tower_enable = False
|
||||
retraction_prime_speed = =retraction_speed
|
||||
skin_overlap = 20
|
||||
|
@ -17,7 +17,7 @@ cool_fan_speed_max = =cool_fan_speed
|
||||
layer_height_0 = 0.2
|
||||
machine_nozzle_cool_down_speed = 0.75
|
||||
machine_nozzle_heat_up_speed = 1.6
|
||||
material_print_temperature = =default_material_print_temperature -10
|
||||
material_print_temperature = =default_material_print_temperature - 10
|
||||
prime_tower_enable = False
|
||||
retraction_prime_speed = =retraction_speed
|
||||
speed_layer_0 = =math.ceil(speed_print * 20 / 45)
|
||||
|
@ -11,6 +11,7 @@ weight = -3
|
||||
material = generic_tough_pla
|
||||
variant = AA 0.4
|
||||
is_experimental = True
|
||||
|
||||
[values]
|
||||
acceleration_print = 2000
|
||||
acceleration_topbottom = 1000
|
||||
|
@ -11,6 +11,7 @@ weight = -1
|
||||
material = generic_cpe_plus
|
||||
variant = AA 0.8
|
||||
is_experimental = True
|
||||
|
||||
[values]
|
||||
brim_width = 14
|
||||
cool_fan_full_at_height = =layer_height_0 + 14 * layer_height
|
||||
|
@ -11,6 +11,7 @@ weight = -4
|
||||
material = generic_cpe_plus
|
||||
variant = AA 0.8
|
||||
is_experimental = True
|
||||
|
||||
[values]
|
||||
brim_width = 14
|
||||
cool_fan_full_at_height = =layer_height_0 + 7 * layer_height
|
||||
|
@ -11,6 +11,7 @@ weight = -3
|
||||
material = generic_cpe_plus
|
||||
variant = AA 0.8
|
||||
is_experimental = True
|
||||
|
||||
[values]
|
||||
brim_width = 14
|
||||
cool_fan_full_at_height = =layer_height_0 + 9 * layer_height
|
||||
|
@ -11,6 +11,7 @@ weight = -1
|
||||
material = generic_pc
|
||||
variant = AA 0.8
|
||||
is_experimental = True
|
||||
|
||||
[values]
|
||||
brim_width = 14
|
||||
cool_fan_full_at_height = =layer_height_0 + 14 * layer_height
|
||||
|
@ -11,6 +11,7 @@ weight = -4
|
||||
material = generic_pc
|
||||
variant = AA 0.8
|
||||
is_experimental = True
|
||||
|
||||
[values]
|
||||
brim_width = 14
|
||||
cool_fan_full_at_height = =layer_height_0 + 7 * layer_height
|
||||
|
@ -11,6 +11,7 @@ weight = -3
|
||||
material = generic_pc
|
||||
variant = AA 0.8
|
||||
is_experimental = True
|
||||
|
||||
[values]
|
||||
brim_width = 14
|
||||
cool_fan_full_at_height = =layer_height_0 + 9 * layer_height
|
||||
|
@ -19,8 +19,8 @@ gradual_infill_step_height = =3 * layer_height
|
||||
layer_height_0 = 0.4
|
||||
machine_nozzle_cool_down_speed = 0.75
|
||||
machine_nozzle_heat_up_speed = 1.6
|
||||
material_final_print_temperature = =max(-273.15, material_print_temperature - 15)
|
||||
material_initial_print_temperature = =max(-273.15, material_print_temperature - 10)
|
||||
material_final_print_temperature = =material_print_temperature - 15
|
||||
material_initial_print_temperature = =material_print_temperature - 10
|
||||
material_print_temperature = =default_material_print_temperature + 10
|
||||
prime_tower_enable = True
|
||||
speed_print = 45
|
||||
|
@ -19,8 +19,8 @@ gradual_infill_step_height = =3 * layer_height
|
||||
layer_height_0 = 0.4
|
||||
machine_nozzle_cool_down_speed = 0.75
|
||||
machine_nozzle_heat_up_speed = 1.6
|
||||
material_final_print_temperature = =max(-273.15, material_print_temperature - 15)
|
||||
material_initial_print_temperature = =max(-273.15, material_print_temperature - 10)
|
||||
material_final_print_temperature = =material_print_temperature - 15
|
||||
material_initial_print_temperature = =material_print_temperature - 10
|
||||
material_print_temperature = =default_material_print_temperature + 15
|
||||
prime_tower_enable = True
|
||||
speed_infill = =math.ceil(speed_print * 35 / 45)
|
||||
|
@ -19,8 +19,8 @@ gradual_infill_step_height = =3 * layer_height
|
||||
layer_height_0 = 0.4
|
||||
machine_nozzle_cool_down_speed = 0.75
|
||||
machine_nozzle_heat_up_speed = 1.6
|
||||
material_final_print_temperature = =max(-273.15, material_print_temperature - 15)
|
||||
material_initial_print_temperature = =max(-273.15, material_print_temperature - 10)
|
||||
material_final_print_temperature = =material_print_temperature - 15
|
||||
material_initial_print_temperature = =material_print_temperature - 10
|
||||
material_print_temperature = =default_material_print_temperature + 10
|
||||
prime_tower_enable = True
|
||||
speed_print = 45
|
||||
|
@ -20,8 +20,8 @@ infill_pattern = ='zigzag' if infill_sparse_density > 80 else 'cubic'
|
||||
layer_height_0 = 0.4
|
||||
machine_nozzle_cool_down_speed = 0.75
|
||||
machine_nozzle_heat_up_speed = 1.6
|
||||
material_final_print_temperature = =max(-273.15, material_print_temperature - 15)
|
||||
material_initial_print_temperature = =max(-273.15, material_print_temperature - 10)
|
||||
material_final_print_temperature = =material_print_temperature - 15
|
||||
material_initial_print_temperature = =material_print_temperature - 10
|
||||
material_print_temperature = =default_material_print_temperature + 0
|
||||
prime_tower_enable = False
|
||||
speed_print = 45
|
||||
|
@ -20,14 +20,14 @@ infill_pattern = ='zigzag' if infill_sparse_density > 80 else 'cubic'
|
||||
layer_height_0 = 0.4
|
||||
machine_nozzle_cool_down_speed = 0.75
|
||||
machine_nozzle_heat_up_speed = 1.6
|
||||
material_final_print_temperature = =max(-273.15, material_print_temperature - 15)
|
||||
material_initial_print_temperature = =max(-273.15, material_print_temperature - 10)
|
||||
material_final_print_temperature = =material_print_temperature - 15
|
||||
material_initial_print_temperature = =material_print_temperature - 10
|
||||
material_print_temperature = =default_material_print_temperature + 5
|
||||
prime_tower_enable = False
|
||||
speed_infill = =math.ceil(speed_print * 30 / 30)
|
||||
speed_print = 30
|
||||
speed_topbottom = =math.ceil(speed_print * 20 / 30)
|
||||
speed_wall = =math.ceil(speed_print * 25/ 30)
|
||||
speed_wall = =math.ceil(speed_print * 25 / 30)
|
||||
speed_wall_0 = =math.ceil(speed_print * 20 / 30)
|
||||
support_angle = 70
|
||||
top_bottom_thickness = =layer_height * 4
|
||||
|
@ -20,15 +20,15 @@ infill_pattern = ='zigzag' if infill_sparse_density > 80 else 'cubic'
|
||||
layer_height_0 = 0.4
|
||||
machine_nozzle_cool_down_speed = 0.75
|
||||
machine_nozzle_heat_up_speed = 1.6
|
||||
material_final_print_temperature = =max(-273.15, material_print_temperature - 15)
|
||||
material_initial_print_temperature = =max(-273.15, material_print_temperature - 10)
|
||||
material_final_print_temperature = =material_print_temperature - 15
|
||||
material_initial_print_temperature = =material_print_temperature - 10
|
||||
material_print_temperature = =default_material_print_temperature + 5
|
||||
material_print_temperature_layer_0 = =material_print_temperature
|
||||
prime_tower_enable = False
|
||||
speed_infill = =math.ceil(speed_print * 30 / 35)
|
||||
speed_print = 35
|
||||
speed_topbottom = =math.ceil(speed_print * 20 / 35)
|
||||
speed_wall = =math.ceil(speed_print * 25/ 35)
|
||||
speed_wall = =math.ceil(speed_print * 25 / 35)
|
||||
speed_wall_0 = =math.ceil(speed_print * 20 / 35)
|
||||
support_angle = 70
|
||||
top_bottom_thickness = =layer_height * 4
|
||||
|
@ -18,7 +18,7 @@ material_print_temperature = =default_material_print_temperature + 10
|
||||
prime_tower_enable = False
|
||||
retraction_count_max = 5
|
||||
skin_overlap = 20
|
||||
skirt_brim_minimal_length = =min(2000, 175/(layer_height*line_width))
|
||||
skirt_brim_minimal_length = =min(2000, 175 / (layer_height * line_width))
|
||||
support_brim_enable = True
|
||||
support_interface_enable = True
|
||||
support_use_towers = True
|
||||
|
@ -18,8 +18,8 @@ material_print_temperature = =default_material_print_temperature + 5
|
||||
prime_tower_enable = False
|
||||
retraction_count_max = 5
|
||||
skin_overlap = 15
|
||||
skirt_brim_minimal_length = =min(2000, 175/(layer_height*line_width))
|
||||
skirt_brim_minimal_length = =min(2000, 175 / (layer_height * line_width))
|
||||
support_brim_enable = True
|
||||
support_infill_sparse_thickness = =2*layer_height
|
||||
support_infill_sparse_thickness = =2 * layer_height
|
||||
support_interface_enable = True
|
||||
support_use_towers = True
|
||||
|
@ -16,8 +16,8 @@ brim_replaces_support = False
|
||||
cool_fan_enabled = =not (support_enable and (extruder_nr == support_infill_extruder_nr))
|
||||
prime_tower_enable = False
|
||||
retraction_count_max = 5
|
||||
skirt_brim_minimal_length = =min(2000, 175/(layer_height*line_width))
|
||||
skirt_brim_minimal_length = =min(2000, 175 / (layer_height * line_width))
|
||||
support_brim_enable = True
|
||||
support_infill_sparse_thickness = =3*layer_height
|
||||
support_infill_sparse_thickness = =3 * layer_height
|
||||
support_interface_enable = True
|
||||
support_use_towers = True
|
||||
|
@ -16,8 +16,8 @@ brim_replaces_support = False
|
||||
cool_fan_enabled = =not (support_enable and (extruder_nr == support_infill_extruder_nr))
|
||||
prime_tower_enable = False
|
||||
retraction_count_max = 5
|
||||
skirt_brim_minimal_length = =min(2000, 175/(layer_height*line_width))
|
||||
skirt_brim_minimal_length = =min(2000, 175 / (layer_height * line_width))
|
||||
support_brim_enable = True
|
||||
support_infill_sparse_thickness = =2*layer_height
|
||||
support_infill_sparse_thickness = =2 * layer_height
|
||||
support_interface_enable = True
|
||||
support_use_towers = True
|
||||
|
@ -11,12 +11,13 @@ weight = -3
|
||||
material = generic_pva
|
||||
variant = BB 0.4
|
||||
is_experimental = True
|
||||
|
||||
[values]
|
||||
brim_replaces_support = False
|
||||
cool_fan_enabled = =not (support_enable and (extruder_nr == support_infill_extruder_nr))
|
||||
prime_tower_enable = False
|
||||
retraction_count_max = 5
|
||||
skirt_brim_minimal_length = =min(2000, 175/(layer_height*line_width))
|
||||
skirt_brim_minimal_length = =min(2000, 175 / (layer_height * line_width))
|
||||
support_brim_enable = True
|
||||
support_infill_sparse_thickness = 0.3
|
||||
support_interface_enable = True
|
||||
|
@ -16,7 +16,7 @@ brim_replaces_support = False
|
||||
cool_fan_enabled = =not (support_enable and (extruder_nr == support_infill_extruder_nr))
|
||||
material_print_temperature = =default_material_print_temperature + 5
|
||||
retraction_count_max = 5
|
||||
skirt_brim_minimal_length = =min(2000, 175/(layer_height*line_width))
|
||||
skirt_brim_minimal_length = =min(2000, 175 / (layer_height * line_width))
|
||||
support_brim_enable = True
|
||||
support_interface_enable = True
|
||||
support_use_towers = True
|
||||
|
@ -15,7 +15,7 @@ variant = BB 0.8
|
||||
brim_replaces_support = False
|
||||
cool_fan_enabled = =not (support_enable and (extruder_nr == support_infill_extruder_nr))
|
||||
retraction_count_max = 5
|
||||
skirt_brim_minimal_length = =min(2000, 175/(layer_height*line_width))
|
||||
skirt_brim_minimal_length = =min(2000, 175 / (layer_height * line_width))
|
||||
support_brim_enable = True
|
||||
support_interface_enable = True
|
||||
support_use_towers = True
|
||||
|
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