Merge branch '5.3'

This commit is contained in:
Remco Burema 2023-02-23 13:41:00 +01:00
commit 5970524b3a
199 changed files with 390 additions and 504 deletions

View file

@ -109,9 +109,13 @@ jobs:
if: ${{ runner.os == 'Macos' }} if: ${{ runner.os == 'Macos' }}
run: brew install autoconf automake ninja run: brew install autoconf automake ninja
# NOTE: Due to what are probably github issues, we have to remove the cache and reconfigure before the rest.
# This is maybe because grub caches the disk it uses last time, which is recreated each time.
- name: Install Linux system requirements - name: Install Linux system requirements
if: ${{ runner.os == 'Linux' }} if: ${{ runner.os == 'Linux' }}
run: | run: |
sudo rm /var/cache/debconf/config.dat
sudo dpkg --configure -a
sudo add-apt-repository ppa:ubuntu-toolchain-r/test -y sudo add-apt-repository ppa:ubuntu-toolchain-r/test -y
sudo apt update sudo apt update
sudo apt upgrade sudo apt upgrade

View file

@ -7,110 +7,149 @@ name: conan-package
# It should run on pushes against main or CURA-* branches, but it will only create the binaries for main and release branches # It should run on pushes against main or CURA-* branches, but it will only create the binaries for main and release branches
on: on:
workflow_dispatch: workflow_dispatch:
inputs: inputs:
create_binaries_windows: create_binaries_windows:
required: true required: true
default: false default: false
description: 'create binaries Windows' description: 'create binaries Windows'
create_binaries_linux: create_binaries_linux:
required: true required: true
default: false default: false
description: 'create binaries Linux' description: 'create binaries Linux'
create_binaries_macos: create_binaries_macos:
required: true required: true
default: false default: false
description: 'create binaries Macos' description: 'create binaries Macos'
push: push:
paths: paths:
- 'plugins/**' - 'plugins/**'
- 'resources/**' - 'resources/**'
- 'cura/**' - 'cura/**'
- 'icons/**' - 'icons/**'
- 'tests/**' - 'tests/**'
- 'packaging/**' - 'packaging/**'
- '.github/workflows/conan-*.yml' - '.github/workflows/conan-*.yml'
- '.github/workflows/notify.yml' - '.github/workflows/notify.yml'
- '.github/workflows/requirements-conan-package.txt' - '.github/workflows/requirements-conan-package.txt'
- 'requirements*.txt' - 'requirements*.txt'
- 'conanfile.py' - 'conanfile.py'
- 'conandata.yml' - 'conandata.yml'
- 'GitVersion.yml' - 'GitVersion.yml'
- '*.jinja' - '*.jinja'
branches: branches:
- main - main
- 'CURA-*' - 'CURA-*'
- '[1-9].[0-9]' - '[1-9].[0-9]'
- '[1-9].[0-9][0-9]' - '[1-9].[0-9][0-9]'
tags: tags:
- '[1-9].[0-9].[0-9]*' - '[1-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]*' - '[1-9].[0-9][0-9].[0-9]*'
env:
CONAN_LOGIN_USERNAME_CURA: ${{ secrets.CONAN_USER }}
CONAN_PASSWORD_CURA: ${{ secrets.CONAN_PASS }}
CONAN_LOGIN_USERNAME_CURA_CE: ${{ secrets.CONAN_USER }}
CONAN_PASSWORD_CURA_CE: ${{ secrets.CONAN_PASS }}
CONAN_LOG_RUN_TO_OUTPUT: 1
CONAN_LOGGING_LEVEL: ${{ inputs.conan_logging_level }}
CONAN_NON_INTERACTIVE: 1
permissions: {} permissions: {}
jobs: jobs:
conan-recipe-version: conan-recipe-version:
permissions: permissions:
contents: read contents: read
uses: ultimaker/cura/.github/workflows/conan-recipe-version.yml@main uses: ultimaker/cura/.github/workflows/conan-recipe-version.yml@main
with:
project_name: cura
conan-package-create-linux:
needs: [ conan-recipe-version ]
runs-on: 'ubuntu-latest'
steps:
- name: Checkout
uses: actions/checkout@v3
- name: Setup Python and pip
uses: actions/setup-python@v4
with: with:
project_name: cura python-version: '3.10.x'
cache: 'pip'
cache-dependency-path: .github/workflows/requirements-conan-package.txt
conan-package-export: - name: Install Python requirements for runner
permissions: run: pip install -r https://raw.githubusercontent.com/Ultimaker/Cura/main/.github/workflows/requirements-conan-package.txt
contents: read # Note the runner requirements are always installed from the main branch in the Ultimaker/Cura repo
needs: [ conan-recipe-version ] - name: Use Conan download cache (Bash)
uses: ultimaker/cura/.github/workflows/conan-recipe-export.yml@main if: ${{ runner.os != 'Windows' }}
run: conan config set storage.download_cache="$HOME/.conan/conan_download_cache"
- name: Cache Conan local repository packages (Bash)
uses: actions/cache@v3
with: with:
recipe_id_full: ${{ needs.conan-recipe-version.outputs.recipe_id_full }} path: |
recipe_id_latest: ${{ needs.conan-recipe-version.outputs.recipe_id_latest }} $HOME/.conan/data
runs_on: 'ubuntu-20.04' $HOME/.conan/conan_download_cache
python_version: '3.10.x' key: conan-ubuntu-${{ runner.arch }}-create-cache
conan_logging_level: 'info'
secrets: inherit
conan-package-create-linux: # NOTE: Due to what are probably github issues, we have to remove the cache and reconfigure before the rest.
permissions: # This is maybe because grub caches the disk it uses last time, which is recreated each time.
contents: read - name: Install Linux system requirements
if: ${{ runner.os == 'Linux' }}
run: |
sudo rm /var/cache/debconf/config.dat
sudo dpkg --configure -a
sudo add-apt-repository ppa:ubuntu-toolchain-r/test -y
sudo apt update
sudo apt upgrade
sudo apt install efibootmgr build-essential checkinstall libegl-dev zlib1g-dev libssl-dev ninja-build autoconf libx11-dev libx11-xcb-dev libfontenc-dev libice-dev libsm-dev libxau-dev libxaw7-dev libxcomposite-dev libxcursor-dev libxdamage-dev libxdmcp-dev libxext-dev libxfixes-dev libxi-dev libxinerama-dev libxkbfile-dev libxmu-dev libxmuu-dev libxpm-dev libxrandr-dev libxrender-dev libxres-dev libxss-dev libxt-dev libxtst-dev libxv-dev libxvmc-dev libxxf86vm-dev xtrans-dev libxcb-render0-dev libxcb-render-util0-dev libxcb-xkb-dev libxcb-icccm4-dev libxcb-image0-dev libxcb-keysyms1-dev libxcb-randr0-dev libxcb-shape0-dev libxcb-sync-dev libxcb-xfixes0-dev libxcb-xinerama0-dev xkb-data libxcb-dri3-dev uuid-dev libxcb-util-dev libxkbcommon-x11-dev pkg-config flex bison -y
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) }} - name: Install GCC-12
needs: [ conan-recipe-version, conan-package-export ] run: |
sudo apt install g++-12 gcc-12 -y
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-12 12
sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-12 12
uses: ultimaker/cura/.github/workflows/conan-package-create.yml@main - name: Create the default Conan profile
with: run: conan profile new default --detect
project_name: ${{ needs.conan-recipe-version.outputs.project_name }}
recipe_id_full: ${{ needs.conan-recipe-version.outputs.recipe_id_full }}
build_id: 1
runs_on: 'ubuntu-20.04'
python_version: '3.10.x'
conan_logging_level: 'info'
secrets: inherit
notify-export: - name: Get Conan configuration
if: ${{ always() }} run: conan config install https://github.com/Ultimaker/conan-config.git
needs: [ conan-recipe-version, conan-package-export ]
uses: ultimaker/cura/.github/workflows/notify.yml@main - name: Create the Packages using lockfile
with: run: conan create . ${{ needs.conan-recipe-version.outputs.recipe_id_full }} --build=missing --update -o ${{ needs.conan-recipe-version.outputs.project_name }}:devtools=True
success: ${{ contains(join(needs.*.result, ','), 'success') }}
success_title: "New Conan recipe exported in ${{ github.repository }}"
success_body: "Exported ${{ needs.conan-recipe-version.outputs.recipe_id_full }}"
failure_title: "Failed to export Conan Export in ${{ github.repository }}"
failure_body: "Failed to exported ${{ needs.conan-recipe-version.outputs.recipe_id_full }}"
secrets: inherit
notify-create: - name: Remove the latest alias
if: ${{ always() && ((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)) }} if: ${{ needs.conan-recipe-version.outputs.recipe_id_latest != '' }}
needs: [ conan-recipe-version, conan-package-create-linux ] run: |
conan remove ${{ needs.conan-recipe-version.outputs.recipe_id_latest }} -r cura -f || true
conan remove ${{ needs.conan-recipe-version.outputs.recipe_id_latest }} -r cura-ce -f || true
uses: ultimaker/cura/.github/workflows/notify.yml@main - name: Create the latest alias
with: if: ${{ needs.conan-recipe-version.outputs.recipe_id_latest != '' && always() }}
success: ${{ contains(join(needs.*.result, ','), 'success') }} run: conan alias ${{ needs.conan-recipe-version.outputs.recipe_id_latest }} ${{ needs.conan-recipe-version.outputs.recipe_id_full }}
success_title: "New binaries created in ${{ github.repository }}"
success_body: "Created binaries for ${{ needs.conan-recipe-version.outputs.recipe_id_full }}" - name: Upload the Package(s)
failure_title: "Failed to create binaries in ${{ github.repository }}" if: always()
failure_body: "Failed to created binaries for ${{ needs.conan-recipe-version.outputs.recipe_id_full }}" run: |
secrets: inherit conan upload "*" -r cura --all -c
conan upload "*" -r cura-ce -c
notify-create:
if: ${{ always() && (github.event_name == 'push' && (github.ref_name == 'main' || github.ref_name == 'master' || needs.conan-recipe-version.outputs.is_release_branch == 'true')) }}
needs: [ conan-recipe-version, conan-package-create-linux ]
uses: ultimaker/cura/.github/workflows/notify.yml@main
with:
success: ${{ contains(join(needs.*.result, ','), 'success') }}
success_title: "New binaries created in ${{ github.repository }}"
success_body: "Created binaries for ${{ needs.conan-recipe-version.outputs.recipe_id_full }}"
failure_title: "Failed to create binaries in ${{ github.repository }}"
failure_body: "Failed to created binaries for ${{ needs.conan-recipe-version.outputs.recipe_id_full }}"
secrets: inherit

View file

@ -122,9 +122,17 @@ jobs:
if: ${{ runner.os == 'Macos' }} if: ${{ runner.os == 'Macos' }}
run: brew install autoconf automake ninja create-dmg # Delete create-dmg when deprecating dmg run: brew install autoconf automake ninja create-dmg # Delete create-dmg when deprecating dmg
- name: Hack needed specifically for ubuntu-22.04 from mid-Feb 2023 onwards
if: ${{ runner.os == 'Linux' && startsWith(inputs.platform, 'ubuntu-22.04') }}
run: sudo apt remove libodbc2 libodbcinst2 unixodbc-common -y
# NOTE: Due to what are probably github issues, we have to remove the cache and reconfigure before the rest.
# This is maybe because grub caches the disk it uses last time, which is recreated each time.
- name: Install Linux system requirements - name: Install Linux system requirements
if: ${{ runner.os == 'Linux' }} if: ${{ runner.os == 'Linux' }}
run: | run: |
sudo rm /var/cache/debconf/config.dat
sudo dpkg --configure -a
sudo add-apt-repository ppa:ubuntu-toolchain-r/test -y sudo add-apt-repository ppa:ubuntu-toolchain-r/test -y
sudo apt update sudo apt update
sudo apt upgrade sudo apt upgrade

View file

@ -105,9 +105,13 @@ jobs:
$HOME/.conan/conan_download_cache $HOME/.conan/conan_download_cache
key: conan-${{ runner.os }}-${{ runner.arch }}-unit-cache key: conan-${{ runner.os }}-${{ runner.arch }}-unit-cache
# NOTE: Due to what are probably github issues, we have to remove the cache and reconfigure before the rest.
# This is maybe because grub caches the disk it uses last time, which is recreated each time.
- name: Install Linux system requirements - name: Install Linux system requirements
if: ${{ runner.os == 'Linux' }} if: ${{ runner.os == 'Linux' }}
run: | run: |
sudo rm /var/cache/debconf/config.dat
sudo dpkg --configure -a
sudo apt update sudo apt update
sudo apt upgrade sudo apt upgrade
sudo apt install build-essential checkinstall libegl-dev zlib1g-dev libssl-dev ninja-build autoconf libx11-dev libx11-xcb-dev libfontenc-dev libice-dev libsm-dev libxau-dev libxaw7-dev libxcomposite-dev libxcursor-dev libxdamage-dev libxdmcp-dev libxext-dev libxfixes-dev libxi-dev libxinerama-dev libxkbfile-dev libxmu-dev libxmuu-dev libxpm-dev libxrandr-dev libxrender-dev libxres-dev libxss-dev libxt-dev libxtst-dev libxv-dev libxvmc-dev libxxf86vm-dev xtrans-dev libxcb-render0-dev libxcb-render-util0-dev libxcb-xkb-dev libxcb-icccm4-dev libxcb-image0-dev libxcb-keysyms1-dev libxcb-randr0-dev libxcb-shape0-dev libxcb-sync-dev libxcb-xfixes0-dev libxcb-xinerama0-dev xkb-data libxcb-dri3-dev uuid-dev libxcb-util-dev libxkbcommon-x11-dev pkg-config -y sudo apt install build-essential checkinstall libegl-dev zlib1g-dev libssl-dev ninja-build autoconf libx11-dev libx11-xcb-dev libfontenc-dev libice-dev libsm-dev libxau-dev libxaw7-dev libxcomposite-dev libxcursor-dev libxdamage-dev libxdmcp-dev libxext-dev libxfixes-dev libxi-dev libxinerama-dev libxkbfile-dev libxmu-dev libxmuu-dev libxpm-dev libxrandr-dev libxrender-dev libxres-dev libxss-dev libxt-dev libxtst-dev libxv-dev libxvmc-dev libxxf86vm-dev xtrans-dev libxcb-render0-dev libxcb-render-util0-dev libxcb-xkb-dev libxcb-icccm4-dev libxcb-image0-dev libxcb-keysyms1-dev libxcb-randr0-dev libxcb-shape0-dev libxcb-sync-dev libxcb-xfixes0-dev libxcb-xinerama0-dev xkb-data libxcb-dri3-dev uuid-dev libxcb-util-dev libxkbcommon-x11-dev pkg-config -y

View file

@ -1,107 +1,90 @@
---
# Usage: defaults to the first entry in this conandata.yml file
# If you're on a release branch create an entry for that **version** e.q.: `5.1.0` update the requirements (use pinned versions, not latest)
# also create a beta entry for that **version** e.q.: `5.1.0-beta`, update the requirements (use the <dep_name>/(latest)@ultimaker/stable)
#
# If you're working on a feature/bugfix branch from a release branch, create an entry for that **channel**, update the requirements (use
# the <dep_name>/(latest)@ultimaker/stable)
#
# If you're working on a feature/bugfix branch from a main branch, it is optional to create an entry for that **channel**, update the
# requirements (use the <dep_name>/(latest)@ultimaker/testing)
#
# Subject to change in the future!
runinfo:
entrypoint: "cura_app.py"
pyinstaller: pyinstaller:
datas: runinfo:
cura_plugins: entrypoint: "cura_app.py"
package: "cura" datas:
src: "plugins" cura_plugins:
dst: "share/cura/plugins" package: "cura"
cura_resources: src: "plugins"
package: "cura" dst: "share/cura/plugins"
src: "resources" cura_resources:
dst: "share/cura/resources" package: "cura"
cura_private_data: src: "resources"
package: "cura_private_data" dst: "share/cura/resources"
src: "resources" cura_private_data:
dst: "share/cura/resources" package: "cura_private_data"
internal: true src: "resources"
cura_private_data_plugins: dst: "share/cura/resources"
package: "cura_private_data" internal: true
src: "plugins" uranium_plugins:
dst: "share/cura/plugins" package: "uranium"
internal: true src: "plugins"
uranium_plugins: dst: "share/uranium/plugins"
package: "uranium" uranium_resources:
src: "plugins" package: "uranium"
dst: "share/uranium/plugins" src: "resources"
uranium_resources: dst: "share/uranium/resources"
package: "uranium" uranium_um_qt_qml_um:
src: "resources" package: "uranium"
dst: "share/uranium/resources" src: "site-packages/UM/Qt/qml/UM"
uranium_um_qt_qml_um: dst: "PyQt6/Qt6/qml/UM"
package: "uranium" cura_binary_data:
src: "site-packages/UM/Qt/qml/UM" package: "cura_binary_data"
dst: "PyQt6/Qt6/qml/UM" src: "resources/cura/resources"
cura_binary_data: dst: "share/cura/resources"
package: "cura_binary_data" uranium_binary_data:
src: "resources/cura/resources" package: "cura_binary_data"
dst: "share/cura/resources" src: "resources/uranium/resources"
uranium_binary_data: dst: "share/uranium/resources"
package: "cura_binary_data" windows_binary_data:
src: "resources/uranium/resources" package: "cura_binary_data"
dst: "share/uranium/resources" src: "windows"
windows_binary_data: dst: "share/windows"
package: "cura_binary_data" fdm_materials:
src: "windows" package: "fdm_materials"
dst: "share/windows" src: "materials"
fdm_materials: dst: "share/cura/resources/materials"
package: "fdm_materials" tcl:
src: "materials" package: "tcl"
dst: "share/cura/resources/materials" src: "lib/tcl8.6"
tcl: dst: "tcl"
package: "tcl" tk:
src: "lib/tcl8.6" package: "tk"
dst: "tcl" src: "lib/tk8.6"
tk: dst: "tk"
package: "tk" binaries:
src: "lib/tk8.6" curaengine:
dst: "tk" package: "curaengine"
binaries: src: "bin"
curaengine: dst: "."
package: "curaengine" binary: "CuraEngine"
src: "bin" hiddenimports:
dst: "." - "pySavitar"
binary: "CuraEngine" - "pyArcus"
hiddenimports: - "pynest2d"
- "pySavitar" - "PyQt6"
- "pyArcus" - "PyQt6.QtNetwork"
- "pynest2d" - "PyQt6.sip"
- "PyQt6" - "logging.handlers"
- "PyQt6.QtNetwork" - "zeroconf"
- "PyQt6.sip" - "fcntl"
- "logging.handlers" - "stl"
- "zeroconf" - "serial"
- "fcntl" collect_all:
- "stl" - "cura"
- "serial" - "UM"
collect_all: - "serial"
- "cura" - "Charon"
- "UM" - "sqlite3"
- "serial" - "trimesh"
- "Charon" - "win32ctypes"
- "sqlite3" - "PyQt6"
- "trimesh" - "PyQt6.QtNetwork"
- "win32ctypes" - "PyQt6.sip"
- "PyQt6" - "stl"
- "PyQt6.QtNetwork" icon:
- "PyQt6.sip" Windows: "./icons/Cura.ico"
- "stl" Macos: "./icons/cura.icns"
icon: Linux: "./icons/cura-128.png"
Windows: "./icons/Cura.ico"
Macos: "./icons/cura.icns"
Linux: "./icons/cura-128.png"
pycharm_targets: pycharm_targets:
- jinja_path: .run_templates/pycharm_cura_run.run.xml.jinja - jinja_path: .run_templates/pycharm_cura_run.run.xml.jinja
module_name: Cura module_name: Cura

View file

@ -6,7 +6,7 @@ from jinja2 import Template
from conan import ConanFile from conan import ConanFile
from conan.tools.files import copy, rmdir, save, mkdir from conan.tools.files import copy, rmdir, save, mkdir
from conan.tools.microsoft import unix_path from conan.tools.microsoft import unix_path
from conan.tools.env import VirtualRunEnv, Environment from conan.tools.env import VirtualRunEnv, Environment, VirtualBuildEnv
from conan.tools.scm import Version from conan.tools.scm import Version
from conan.errors import ConanInvalidConfiguration, ConanException from conan.errors import ConanInvalidConfiguration, ConanException
@ -19,7 +19,7 @@ class CuraConan(ConanFile):
author = "UltiMaker" author = "UltiMaker"
url = "https://github.com/Ultimaker/cura" url = "https://github.com/Ultimaker/cura"
description = "3D printer / slicing GUI built on top of the Uranium framework" description = "3D printer / slicing GUI built on top of the Uranium framework"
topics = ("conan", "python", "pyqt5", "qt", "qml", "3d-printing", "slicer") topics = ("conan", "python", "pyqt6", "qt", "qml", "3d-printing", "slicer")
build_policy = "missing" build_policy = "missing"
exports = "LICENSE*", "UltiMaker-Cura.spec.jinja", "CuraVersion.py.jinja" exports = "LICENSE*", "UltiMaker-Cura.spec.jinja", "CuraVersion.py.jinja"
settings = "os", "compiler", "build_type", "arch" settings = "os", "compiler", "build_type", "arch"
@ -48,12 +48,6 @@ class CuraConan(ConanFile):
"cura_debug_mode": False, # Not yet implemented "cura_debug_mode": False, # Not yet implemented
"internal": False, "internal": False,
} }
scm = {
"type": "git",
"subfolder": ".",
"url": "auto",
"revision": "auto"
}
@property @property
def _pycharm_targets(self): def _pycharm_targets(self):
@ -161,7 +155,7 @@ class CuraConan(ConanFile):
return "None" return "None"
def _generate_cura_version(self, location): def _generate_cura_version(self, location):
with open(Path(__file__).parent.joinpath("CuraVersion.py.jinja"), "r") as f: with open(os.path.join(self.recipe_folder, "CuraVersion.py.jinja"), "r") as f:
cura_version_py = Template(f.read()) cura_version_py = Template(f.read())
# If you want a specific Cura version to show up on the splash screen add the user configuration `user.cura:version=VERSION` # If you want a specific Cura version to show up on the splash screen add the user configuration `user.cura:version=VERSION`
@ -172,7 +166,7 @@ class CuraConan(ConanFile):
internal_tag = f"+internal" if self.options.internal 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}" 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: with open(os.path.join(location, "CuraVersion.py"), "w") as f:
f.write(cura_version_py.render( f.write(cura_version_py.render(
cura_app_name = self.name, cura_app_name = self.name,
cura_app_display_name = self._app_name, cura_app_display_name = self._app_name,
@ -196,33 +190,33 @@ class CuraConan(ConanFile):
if "package" in data: # get the paths from conan package if "package" in data: # get the paths from conan package
if data["package"] == self.name: if data["package"] == self.name:
if self.in_local_cache: if self.in_local_cache:
src_path = Path(self.package_folder, data["src"]) src_path = os.path.join(self.package_folder, data["src"])
else: else:
src_path = Path(self.source_folder, data["src"]) src_path = os.path.join(self.source_folder, data["src"])
else: else:
src_path = Path(self.deps_cpp_info[data["package"]].rootpath, data["src"]) src_path = os.path.join(self.deps_cpp_info[data["package"]].rootpath, data["src"])
elif "root" in data: # get the paths relative from the sourcefolder elif "root" in data: # get the paths relative from the sourcefolder
src_path = Path(self.source_folder, data["root"], data["src"]) src_path = os.path.join(self.source_folder, data["root"], data["src"])
else: else:
continue continue
if src_path.exists(): if Path(src_path).exists():
datas.append((str(src_path), data["dst"])) datas.append((str(src_path), data["dst"]))
binaries = [] binaries = []
for binary in pyinstaller_metadata["binaries"].values(): for binary in pyinstaller_metadata["binaries"].values():
if "package" in binary: # get the paths from conan package if "package" in binary: # get the paths from conan package
src_path = Path(self.deps_cpp_info[binary["package"]].rootpath, binary["src"]) src_path = os.path.join(self.deps_cpp_info[binary["package"]].rootpath, binary["src"])
elif "root" in binary: # get the paths relative from the sourcefolder elif "root" in binary: # get the paths relative from the sourcefolder
src_path = Path(self.source_folder, binary["root"], binary["src"]) src_path = os.path.join(self.source_folder, binary["root"], binary["src"])
else: else:
continue continue
if not src_path.exists(): if not Path(src_path).exists():
self.output.warning(f"Source path for binary {binary['binary']} does not exist") self.output.warning(f"Source path for binary {binary['binary']} does not exist")
continue continue
for bin in src_path.glob(binary["binary"] + "*[.exe|.dll|.so|.dylib|.so.]*"): for bin in Path(src_path).glob(binary["binary"] + "*[.exe|.dll|.so|.dylib|.so.]*"):
binaries.append((str(bin), binary["dst"])) binaries.append((str(bin), binary["dst"]))
for bin in src_path.glob(binary["binary"]): for bin in Path(src_path).glob(binary["binary"]):
binaries.append((str(bin), binary["dst"])) binaries.append((str(bin), binary["dst"]))
# Make sure all Conan dependencies which are shared are added to the binary list for pyinstaller # Make sure all Conan dependencies which are shared are added to the binary list for pyinstaller
@ -240,13 +234,13 @@ class CuraConan(ConanFile):
# Collect all dll's from PyQt6 and place them in the root # 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")]) binaries.extend([(f"{p}", ".") for p in Path(self._site_packages, "PyQt6", "Qt6").glob("**/*.dll")])
with open(Path(__file__).parent.joinpath("UltiMaker-Cura.spec.jinja"), "r") as f: with open(os.path.join(self.recipe_folder, "UltiMaker-Cura.spec.jinja"), "r") as f:
pyinstaller = Template(f.read()) pyinstaller = Template(f.read())
version = self.conf_info.get("user.cura:version", default = self.version, check_type = str) version = self.conf_info.get("user.cura:version", default = self.version, check_type = str)
cura_version = Version(version) cura_version = Version(version)
with open(Path(location, "UltiMaker-Cura.spec"), "w") as f: with open(os.path.join(location, "UltiMaker-Cura.spec"), "w") as f:
f.write(pyinstaller.render( f.write(pyinstaller.render(
name = str(self.options.display_name).replace(" ", "-"), name = str(self.options.display_name).replace(" ", "-"),
display_name = self._app_name, display_name = self._app_name,
@ -267,6 +261,20 @@ class CuraConan(ConanFile):
short_version = f"'{cura_version.major}.{cura_version.minor}.{cura_version.patch}'", short_version = f"'{cura_version.major}.{cura_version.minor}.{cura_version.patch}'",
)) ))
def export_sources(self):
copy(self, "*", os.path.join(self.recipe_folder, "plugins"), os.path.join(self.export_sources_folder, "plugins"))
copy(self, "*", os.path.join(self.recipe_folder, "resources"), os.path.join(self.export_sources_folder, "resources"), excludes = "*.mo")
copy(self, "*", os.path.join(self.recipe_folder, "tests"), os.path.join(self.export_sources_folder, "tests"))
copy(self, "*", os.path.join(self.recipe_folder, "cura"), os.path.join(self.export_sources_folder, "cura"), excludes="CuraVersion.py")
copy(self, "*", os.path.join(self.recipe_folder, "packaging"), os.path.join(self.export_sources_folder, "packaging"))
copy(self, "*", os.path.join(self.recipe_folder, ".run_templates"), os.path.join(self.export_sources_folder, "run_templates"))
copy(self, "requirements.txt", self.recipe_folder, self.export_sources_folder)
copy(self, "requirements-dev.txt", self.recipe_folder, self.export_sources_folder)
copy(self, "requirements-ultimaker.txt", self.recipe_folder, self.export_sources_folder)
copy(self, "UltiMaker-Cura.spec.jinja", self.recipe_folder, self.export_sources_folder)
copy(self, "CuraVersion.py.jinja", self.recipe_folder, self.export_sources_folder)
copy(self, "cura_app.py", self.recipe_folder, self.export_sources_folder)
def set_version(self): def set_version(self):
if self.version is None: if self.version is None:
self.version = self._umdefault_version() self.version = self._umdefault_version()
@ -303,45 +311,54 @@ class CuraConan(ConanFile):
def layout(self): def layout(self):
self.folders.source = "." self.folders.source = "."
self.folders.build = "venv" self.folders.build = "venv"
self.folders.generators = Path(self.folders.build, "conan") self.folders.generators = os.path.join(self.folders.build, "conan")
self.cpp.package.libdirs = [os.path.join("site-packages", "cura")] self.cpp.package.libdirs = [os.path.join("site-packages", "cura")]
self.cpp.package.bindirs = ["bin"] self.cpp.package.bindirs = ["bin"]
self.cpp.package.resdirs = ["resources", "plugins", "packaging", "pip_requirements"] # pip_requirements should be the last item in the list self.cpp.package.resdirs = ["resources", "plugins", "packaging", "pip_requirements"] # pip_requirements should be the last item in the list
def build(self):
if self.options.devtools:
if self.settings.os != "Windows" or self.conf.get("tools.microsoft.bash:path", check_type = str):
# FIXME: once m4, autoconf, automake are Conan V2 ready use self.win_bash and add gettext as base tool_requirement
cpp_info = self.dependencies["gettext"].cpp_info
for po_file in self.source_path.joinpath("resources", "i18n").glob("**/*.po"):
mo_file = self.build_path.joinpath(po_file.with_suffix('.mo').relative_to(self.source_path))
mkdir(self, str(unix_path(self, mo_file.parent)))
self.run(f"{cpp_info.bindirs[0]}/msgfmt {po_file} -o {mo_file} -f", env="conanbuild", ignore_errors=True)
def generate(self): def generate(self):
copy(self, "cura_app.py", self.source_folder, str(self._script_dir))
cura_run_envvars = self._cura_run_env.vars(self, scope = "run") cura_run_envvars = self._cura_run_env.vars(self, scope = "run")
ext = ".ps1" if self.settings.os == "Windows" else ".sh" ext = ".ps1" if self.settings.os == "Windows" else ".sh"
cura_run_envvars.save_script(self.folders.generators.joinpath(f"cura_run_environment{ext}")) cura_run_envvars.save_script(os.path.join(self.folders.generators, f"cura_run_environment{ext}"))
vr = VirtualRunEnv(self) vr = VirtualRunEnv(self)
vr.generate() vr.generate()
self._generate_cura_version(Path(self.source_folder, "cura")) self._generate_cura_version(os.path.join(self.source_folder, "cura"))
if self.options.devtools: if self.options.devtools:
entitlements_file = "'{}'".format(Path(self.source_folder, "packaging", "MacOS", "cura.entitlements")) entitlements_file = "'{}'".format(os.path.join(self.source_folder, "packaging", "MacOS", "cura.entitlements"))
self._generate_pyinstaller_spec(location = self.generators_folder, self._generate_pyinstaller_spec(location = self.generators_folder,
entrypoint_location = "'{}'".format(Path(self.source_folder, self.conan_data["runinfo"]["entrypoint"])).replace("\\", "\\\\"), entrypoint_location = "'{}'".format(os.path.join(self.source_folder, self.conan_data["pyinstaller"]["runinfo"]["entrypoint"])).replace("\\", "\\\\"),
icon_path = "'{}'".format(Path(self.source_folder, "packaging", self.conan_data["pyinstaller"]["icon"][str(self.settings.os)])).replace("\\", "\\\\"), icon_path = "'{}'".format(os.path.join(self.source_folder, "packaging", self.conan_data["pyinstaller"]["icon"][str(self.settings.os)])).replace("\\", "\\\\"),
entitlements_file = entitlements_file if self.settings.os == "Macos" else "None") entitlements_file = entitlements_file if self.settings.os == "Macos" else "None")
# Update the po files # Update the po files
if self.settings.os != "Windows" or self.conf.get("tools.microsoft.bash:path", check_type=str):
vb = VirtualBuildEnv(self)
vb.generate()
# FIXME: once m4, autoconf, automake are Conan V2 ready use self.win_bash and add gettext as base tool_requirement
cpp_info = self.dependencies["gettext"].cpp_info
for po_file in self.source_path.joinpath("resources", "i18n").glob("**/*.po"):
pot_file = self.source_path.joinpath("resources", "i18n", po_file.with_suffix('.pot').name)
mkdir(self, str(unix_path(self, pot_file.parent)))
self.run(
f"{cpp_info.bindirs[0]}/msgmerge --no-wrap --no-fuzzy-matching -width=140 -o {po_file} {po_file} {pot_file}",
env="conanbuild", ignore_errors=True)
def build(self):
if self.options.devtools:
if self.settings.os != "Windows" or self.conf.get("tools.microsoft.bash:path", check_type = str): if self.settings.os != "Windows" or self.conf.get("tools.microsoft.bash:path", check_type = str):
# FIXME: once m4, autoconf, automake are Conan V2 ready use self.win_bash and add gettext as base tool_requirement # FIXME: once m4, autoconf, automake are Conan V2 ready use self.win_bash and add gettext as base tool_requirement
# Extract all the new strings and update the existing po files for po_file in self.source_path.joinpath("resources", "i18n").glob("**/*.po"):
extractTool = self.python_requires["translationextractor"].module.ExtractTranslations(self, self.source_path.joinpath("resources", "i18n"), "cura.pot") mo_file = Path(self.build_folder, po_file.with_suffix('.mo').relative_to(self.source_path))
extractTool.generate() mo_file = mo_file.parent.joinpath("LC_MESSAGES", mo_file.name)
mkdir(self, str(unix_path(self, Path(mo_file).parent)))
cpp_info = self.dependencies["gettext"].cpp_info
self.run(f"{cpp_info.bindirs[0]}/msgfmt {po_file} -o {mo_file} -f", env="conanbuild", ignore_errors=True)
def imports(self): def imports(self):
self.copy("CuraEngine.exe", root_package = "curaengine", src = "@bindirs", dst = "", keep_path = False) self.copy("CuraEngine.exe", root_package = "curaengine", src = "@bindirs", dst = "", keep_path = False)
@ -402,7 +419,7 @@ class CuraConan(ConanFile):
self.copy_deps("*", root_package = "uranium", src = self.deps_cpp_info["uranium"].libdirs[0], self.copy_deps("*", root_package = "uranium", src = self.deps_cpp_info["uranium"].libdirs[0],
dst = self._site_packages.joinpath("UM"), dst = self._site_packages.joinpath("UM"),
keep_path = True) keep_path = True)
self.copy_deps("*", root_package = "uranium", src = str(Path(self.deps_cpp_info["uranium"].libdirs[0], "Qt", "qml", "UM")), self.copy_deps("*", root_package = "uranium", src = str(os.path.join(self.deps_cpp_info["uranium"].libdirs[0], "Qt", "qml", "UM")),
dst = self._site_packages.joinpath("PyQt6", "Qt6", "qml", "UM"), dst = self._site_packages.joinpath("PyQt6", "Qt6", "qml", "UM"),
keep_path = True) keep_path = True)
@ -445,24 +462,24 @@ echo "CURA_APP_NAME={{ cura_app_name }}" >> ${{ env_prefix }}GITHUB_ENV
env_prefix = env_prefix) env_prefix = env_prefix)
ext = ".sh" if self.settings.os != "Windows" else ".ps1" ext = ".sh" if self.settings.os != "Windows" else ".ps1"
save(self, self._script_dir.joinpath(f"activate_github_actions_version_env{ext}"), activate_github_actions_version_env) save(self, os.path.join(self._script_dir, f"activate_github_actions_version_env{ext}"), activate_github_actions_version_env)
self._generate_cura_version(Path(self._site_packages, "cura")) self._generate_cura_version(os.path.join(self._site_packages, "cura"))
entitlements_file = "'{}'".format(Path(self.cpp_info.res_paths[2], "MacOS", "cura.entitlements")) entitlements_file = "'{}'".format(Path(self.cpp_info.res_paths[2], "MacOS", "cura.entitlements"))
self._generate_pyinstaller_spec(location = self._base_dir, self._generate_pyinstaller_spec(location = self._base_dir,
entrypoint_location = "'{}'".format(Path(self.cpp_info.bin_paths[0], self.conan_data["runinfo"]["entrypoint"])).replace("\\", "\\\\"), entrypoint_location = "'{}'".format(os.path.join(self.package_folder, self.cpp_info.bindirs[0], self.conan_data["pyinstaller"]["runinfo"]["entrypoint"])).replace("\\", "\\\\"),
icon_path = "'{}'".format(Path(self.cpp_info.res_paths[2], self.conan_data["pyinstaller"]["icon"][str(self.settings.os)])).replace("\\", "\\\\"), icon_path = "'{}'".format(os.path.join(self.package_folder, self.cpp_info.resdirs[2], self.conan_data["pyinstaller"]["icon"][str(self.settings.os)])).replace("\\", "\\\\"),
entitlements_file = entitlements_file if self.settings.os == "Macos" else "None") entitlements_file = entitlements_file if self.settings.os == "Macos" else "None")
def package(self): def package(self):
copy(self, "cura_app.py", src = self.source_path, dst = self.package_path.joinpath(self.cpp.package.bindirs[0])) copy(self, "cura_app.py", src = self.source_folder, dst = os.path.join(self.package_folder, self.cpp.package.bindirs[0]))
copy(self, "*", src = self.source_path.joinpath("cura"), dst = self.package_path.joinpath(self.cpp.package.libdirs[0])) copy(self, "*", src = os.path.join(self.source_folder, "cura"), dst = os.path.join(self.package_folder, self.cpp.package.libdirs[0]))
copy(self, "*", src = self.source_path.joinpath("resources"), dst = self.package_path.joinpath(self.cpp.package.resdirs[0]), excludes="*.po") copy(self, "*", src = os.path.join(self.source_folder, "resources"), dst = os.path.join(self.package_folder, self.cpp.package.resdirs[0]))
copy(self, "*", src = self.build_path.joinpath("resources"), dst = self.package_path.joinpath(self.cpp.package.resdirs[0])) copy(self, "*.mo", os.path.join(self.build_folder, "resources"), os.path.join(self.package_folder, "resources"))
copy(self, "*", src = self.source_path.joinpath("plugins"), dst = self.package_path.joinpath(self.cpp.package.resdirs[1])) copy(self, "*", src = os.path.join(self.source_folder, "plugins"), dst = os.path.join(self.package_folder, self.cpp.package.resdirs[1]))
copy(self, "requirement*.txt", src = self.source_path, dst = self.package_path.joinpath(self.cpp.package.resdirs[-1])) copy(self, "requirement*.txt", src = self.source_folder, dst = os.path.join(self.package_folder, self.cpp.package.resdirs[-1]))
copy(self, "*", src = self.source_path.joinpath("packaging"), dst = self.package_path.joinpath(self.cpp.package.resdirs[2])) copy(self, "*", src = os.path.join(self.source_folder, "packaging"), dst = os.path.join(self.package_folder, self.cpp.package.resdirs[2]))
def package_info(self): def package_info(self):
self.user_info.pip_requirements = "requirements.txt" self.user_info.pip_requirements = "requirements.txt"
@ -470,8 +487,8 @@ echo "CURA_APP_NAME={{ cura_app_name }}" >> ${{ env_prefix }}GITHUB_ENV
self.user_info.pip_requirements_build = "requirements-dev.txt" self.user_info.pip_requirements_build = "requirements-dev.txt"
if self.in_local_cache: if self.in_local_cache:
self.runenv_info.append_path("PYTHONPATH", str(Path(self.cpp_info.lib_paths[0]).parent)) self.runenv_info.append_path("PYTHONPATH", os.path.join(self.package_folder, "site-packages"))
self.runenv_info.append_path("PYTHONPATH", self.cpp_info.res_paths[1]) # Add plugins to PYTHONPATH self.runenv_info.append_path("PYTHONPATH", os.path.join(self.package_folder, "plugins"))
else: else:
self.runenv_info.append_path("PYTHONPATH", self.source_folder) self.runenv_info.append_path("PYTHONPATH", self.source_folder)
self.runenv_info.append_path("PYTHONPATH", os.path.join(self.source_folder, "plugins")) self.runenv_info.append_path("PYTHONPATH", os.path.join(self.source_folder, "plugins"))

View file

@ -32,6 +32,7 @@ class FlavorParser:
"""This parser is intended to interpret the common firmware codes among all the different flavors""" """This parser is intended to interpret the common firmware codes among all the different flavors"""
MAX_EXTRUDER_COUNT = 16 MAX_EXTRUDER_COUNT = 16
DEFAULT_FILAMENT_DIAMETER = 2.85
def __init__(self) -> None: def __init__(self) -> None:
CuraApplication.getInstance().hideMessageSignal.connect(self._onHideMessage) CuraApplication.getInstance().hideMessageSignal.connect(self._onHideMessage)
@ -48,7 +49,7 @@ class FlavorParser:
self._is_layers_in_file = False # Does the Gcode have the layers comment? self._is_layers_in_file = False # Does the Gcode have the layers comment?
self._extruder_offsets = {} # type: Dict[int, List[float]] # Offsets for multi extruders. key is index, value is [x-offset, y-offset] self._extruder_offsets = {} # type: Dict[int, List[float]] # Offsets for multi extruders. key is index, value is [x-offset, y-offset]
self._current_layer_thickness = 0.2 # default self._current_layer_thickness = 0.2 # default
self._filament_diameter = 2.85 # default self._current_filament_diameter = 2.85 # default
self._previous_extrusion_value = 0.0 # keep track of the filament retractions self._previous_extrusion_value = 0.0 # keep track of the filament retractions
CuraApplication.getInstance().getPreferences().addPreference("gcodereader/show_caution", True) CuraApplication.getInstance().getPreferences().addPreference("gcodereader/show_caution", True)
@ -152,7 +153,7 @@ class FlavorParser:
def _calculateLineWidth(self, current_point: Position, previous_point: Position, current_extrusion: float, previous_extrusion: float, layer_thickness: float) -> float: def _calculateLineWidth(self, current_point: Position, previous_point: Position, current_extrusion: float, previous_extrusion: float, layer_thickness: float) -> float:
# Area of the filament # Area of the filament
Af = (self._filament_diameter / 2) ** 2 * numpy.pi Af = (self._current_filament_diameter / 2) ** 2 * numpy.pi
# Length of the extruded filament # Length of the extruded filament
de = current_extrusion - previous_extrusion de = current_extrusion - previous_extrusion
# Volume of the extruded filament # Volume of the extruded filament
@ -287,7 +288,11 @@ class FlavorParser:
def processTCode(self, global_stack, T: int, line: str, position: Position, path: List[List[Union[float, int]]]) -> Position: def processTCode(self, global_stack, T: int, line: str, position: Position, path: List[List[Union[float, int]]]) -> Position:
self._extruder_number = T self._extruder_number = T
self._filament_diameter = global_stack.extruderList[self._extruder_number].getProperty("material_diameter", "value") try:
self._current_filament_diameter = global_stack.extruderList[self._extruder_number].getProperty("material_diameter", "value")
except IndexError:
self._current_filament_diameter = self.DEFAULT_FILAMENT_DIAMETER
if self._extruder_number + 1 > len(position.e): if self._extruder_number + 1 > len(position.e):
self._extrusion_length_offset.extend([0] * (self._extruder_number - len(position.e) + 1)) self._extrusion_length_offset.extend([0] * (self._extruder_number - len(position.e) + 1))
position.e.extend([0] * (self._extruder_number - len(position.e) + 1)) position.e.extend([0] * (self._extruder_number - len(position.e) + 1))
@ -323,7 +328,11 @@ class FlavorParser:
if not global_stack: if not global_stack:
return None return None
self._filament_diameter = global_stack.extruderList[self._extruder_number].getProperty("material_diameter", "value") try:
self._current_filament_diameter = global_stack.extruderList[self._extruder_number].getProperty("material_diameter", "value")
except IndexError:
# There can be a mismatch between the number of extruders in the G-Code file and the number of extruders in the current machine.
self._current_filament_diameter = self.DEFAULT_FILAMENT_DIAMETER
scene_node = CuraSceneNode() scene_node = CuraSceneNode()

View file

@ -133,7 +133,6 @@
"support_interface_pattern": { "value": "zigzag" }, "support_interface_pattern": { "value": "zigzag" },
"support_interface_skip_height": { "value": 0.2 }, "support_interface_skip_height": { "value": 0.2 },
"support_pattern": { "value": "'zigzag'" }, "support_pattern": { "value": "'zigzag'" },
"support_use_towers": { "value": false },
"support_wall_count": { "value": 0 }, "support_wall_count": { "value": 0 },
"support_xy_distance": { "value": "wall_line_width_0 * 2" }, "support_xy_distance": { "value": "wall_line_width_0 * 2" },
"support_xy_distance_overhang": { "value": "wall_line_width_0" }, "support_xy_distance_overhang": { "value": "wall_line_width_0" },

View file

@ -134,7 +134,6 @@
"support_interface_pattern": { "value": "zigzag" }, "support_interface_pattern": { "value": "zigzag" },
"support_interface_skip_height": { "value": 0.2 }, "support_interface_skip_height": { "value": 0.2 },
"support_pattern": { "value": "'zigzag'" }, "support_pattern": { "value": "'zigzag'" },
"support_use_towers": { "value": false },
"support_wall_count": { "value": 0 }, "support_wall_count": { "value": 0 },
"support_xy_distance": { "value": "wall_line_width_0 * 2" }, "support_xy_distance": { "value": "wall_line_width_0 * 2" },
"support_xy_distance_overhang": { "value": "wall_line_width_0" }, "support_xy_distance_overhang": { "value": "wall_line_width_0" },

View file

@ -121,7 +121,6 @@
"support_interface_pattern": { "value": "zigzag" }, "support_interface_pattern": { "value": "zigzag" },
"support_interface_skip_height": { "value": 0.2 }, "support_interface_skip_height": { "value": 0.2 },
"support_pattern": { "value": "'zigzag'" }, "support_pattern": { "value": "'zigzag'" },
"support_use_towers": { "value": false },
"support_wall_count": { "value": 0 }, "support_wall_count": { "value": 0 },
"support_xy_distance": { "value": "wall_line_width_0 * 2" }, "support_xy_distance": { "value": "wall_line_width_0 * 2" },
"support_xy_distance_overhang": { "value": "wall_line_width_0" }, "support_xy_distance_overhang": { "value": "wall_line_width_0" },

View file

@ -115,7 +115,6 @@
"support_structure": { "value": "'tree'" }, "support_structure": { "value": "'tree'" },
"support_top_distance": { "value": "extruderValue(support_roof_extruder_nr if support_roof_enable else support_infill_extruder_nr, 'support_z_distance') + (layer_height if support_structure == 'tree' else 0)" }, "support_top_distance": { "value": "extruderValue(support_roof_extruder_nr if support_roof_enable else support_infill_extruder_nr, 'support_z_distance') + (layer_height if support_structure == 'tree' else 0)" },
"support_type": { "value": "'buildplate' if support_structure == 'tree' else 'everywhere'" }, "support_type": { "value": "'buildplate' if support_structure == 'tree' else 'everywhere'" },
"support_use_towers": { "value": false },
"support_wall_count": { "value": 1 }, "support_wall_count": { "value": 1 },
"support_xy_distance": { "value": "wall_line_width_0 * 2" }, "support_xy_distance": { "value": "wall_line_width_0 * 2" },
"support_xy_distance_overhang": { "value": "wall_line_width_0" }, "support_xy_distance_overhang": { "value": "wall_line_width_0" },

View file

@ -156,7 +156,6 @@
"support_interface_height": { "value": "layer_height * 4" }, "support_interface_height": { "value": "layer_height * 4" },
"support_interface_pattern": { "value": "'grid'" }, "support_interface_pattern": { "value": "'grid'" },
"support_interface_skip_height": { "value": 0.2 }, "support_interface_skip_height": { "value": 0.2 },
"support_use_towers": { "value": false },
"support_xy_distance": { "value": "wall_line_width_0 * 2" }, "support_xy_distance": { "value": "wall_line_width_0 * 2" },
"support_xy_distance_overhang": { "value": "wall_line_width_0" }, "support_xy_distance_overhang": { "value": "wall_line_width_0" },
"support_xy_overrides_z": { "value": "'xy_overrides_z'" }, "support_xy_overrides_z": { "value": "'xy_overrides_z'" },

View file

@ -221,7 +221,6 @@
"support_offset": { "value": "1.5" }, "support_offset": { "value": "1.5" },
"support_pattern": { "default_value": "zigzag" }, "support_pattern": { "default_value": "zigzag" },
"support_top_distance": { "value": "support_z_distance" }, "support_top_distance": { "value": "support_z_distance" },
"support_use_towers": { "value": "True" },
"support_xy_distance": { "value": "wall_line_width_0 * 2.5" }, "support_xy_distance": { "value": "wall_line_width_0 * 2.5" },
"support_xy_distance_overhang": { "value": "wall_line_width_0" }, "support_xy_distance_overhang": { "value": "wall_line_width_0" },
"support_z_distance": { "value": "layer_height" }, "support_z_distance": { "value": "layer_height" },

View file

@ -110,7 +110,6 @@
"support_interface_pattern": { "value": "'grid'" }, "support_interface_pattern": { "value": "'grid'" },
"support_interface_skip_height": { "value": 0.2 }, "support_interface_skip_height": { "value": 0.2 },
"support_pattern": { "value": "'zigzag'" }, "support_pattern": { "value": "'zigzag'" },
"support_use_towers": { "value": false },
"support_wall_count": { "value": 1 }, "support_wall_count": { "value": 1 },
"support_xy_distance": { "value": "wall_line_width_0 * 2" }, "support_xy_distance": { "value": "wall_line_width_0 * 2" },
"support_xy_distance_overhang": { "value": "wall_line_width_0" }, "support_xy_distance_overhang": { "value": "wall_line_width_0" },

View file

@ -99,7 +99,6 @@
"support_interface_pattern": { "value": "'grid'" }, "support_interface_pattern": { "value": "'grid'" },
"support_interface_skip_height": { "value": 0.2 }, "support_interface_skip_height": { "value": 0.2 },
"support_pattern": { "value": "'zigzag'" }, "support_pattern": { "value": "'zigzag'" },
"support_use_towers": { "value": false },
"support_xy_distance": { "value": "wall_line_width_0 * 2" }, "support_xy_distance": { "value": "wall_line_width_0 * 2" },
"support_xy_distance_overhang": { "value": "wall_line_width_0" }, "support_xy_distance_overhang": { "value": "wall_line_width_0" },
"support_xy_overrides_z": { "value": "'xy_overrides_z'" }, "support_xy_overrides_z": { "value": "'xy_overrides_z'" },

View file

@ -160,7 +160,6 @@
"support_interface_skip_height": { "value": 0.2 }, "support_interface_skip_height": { "value": 0.2 },
"support_pattern": { "value": "'zigzag'" }, "support_pattern": { "value": "'zigzag'" },
"support_top_distance": { "value": "extruderValue(support_roof_extruder_nr if support_roof_enable else support_infill_extruder_nr, 'support_z_distance') + (layer_height if support_structure == 'tree' else 0)" }, "support_top_distance": { "value": "extruderValue(support_roof_extruder_nr if support_roof_enable else support_infill_extruder_nr, 'support_z_distance') + (layer_height if support_structure == 'tree' else 0)" },
"support_use_towers": { "value": false },
"support_wall_count": { "value": 1 }, "support_wall_count": { "value": 1 },
"support_xy_distance": { "value": "wall_line_width_0 * 2" }, "support_xy_distance": { "value": "wall_line_width_0 * 2" },
"support_xy_distance_overhang": { "value": "wall_line_width_0" }, "support_xy_distance_overhang": { "value": "wall_line_width_0" },

View file

@ -78,7 +78,6 @@
"speed_z_hop": { "value": "speed_travel" }, "speed_z_hop": { "value": "speed_travel" },
"support_bottom_distance": { "value": "layer_height" }, "support_bottom_distance": { "value": "layer_height" },
"support_bottom_enable": { "value": false }, "support_bottom_enable": { "value": false },
"support_use_towers": { "default_value": false },
"support_wall_count": { "value": "1" }, "support_wall_count": { "value": "1" },
"support_z_distance": { "value": "layer_height" }, "support_z_distance": { "value": "layer_height" },
"switch_extruder_retraction_amount": { "value": 10 }, "switch_extruder_retraction_amount": { "value": 10 },

View file

@ -123,11 +123,9 @@
"support_interface_density": { "default_value": 33.333 }, "support_interface_density": { "default_value": 33.333 },
"support_interface_pattern": { "default_value": "lines" }, "support_interface_pattern": { "default_value": "lines" },
"support_material_flow": { "value": "material_flow * 0.95" }, "support_material_flow": { "value": "material_flow * 0.95" },
"support_offset": { "default_value": 0.3 },
"support_roof_pattern": { "value": "'grid'" }, "support_roof_pattern": { "value": "'grid'" },
"support_top_distance": { "value": "extruderValue(support_roof_extruder_nr if support_roof_enable else support_infill_extruder_nr, 'layer_height') + (0 if support_structure == 'tree' else 0)" }, "support_top_distance": { "value": "extruderValue(support_roof_extruder_nr if support_roof_enable else support_infill_extruder_nr, 'layer_height') + (0 if support_structure == 'tree' else 0)" },
"support_tower_maximum_supported_diameter": { "value": "1" }, "support_tower_maximum_supported_diameter": { "value": "1" },
"support_use_towers": { "default_value": false },
"support_xy_distance": { "value": "machine_nozzle_size * 1.7" }, "support_xy_distance": { "value": "machine_nozzle_size * 1.7" },
"support_xy_distance_overhang": { "value": "machine_nozzle_size * 1.2 if support_interface_enable else machine_nozzle_size * 0.8" }, "support_xy_distance_overhang": { "value": "machine_nozzle_size * 1.2 if support_interface_enable else machine_nozzle_size * 0.8" },
"support_z_distance": { "value": "layer_height * 1.2 if (support_interface_enable and support_bottom_enable and layer_height < 0.16) or support_bottom_enable else layer_height" }, "support_z_distance": { "value": "layer_height * 1.2 if (support_interface_enable and support_bottom_enable and layer_height < 0.16) or support_bottom_enable else layer_height" },

View file

@ -95,7 +95,6 @@
"support_pattern": { "value": "'triangles'" }, "support_pattern": { "value": "'triangles'" },
"support_roof_enable": { "value": true }, "support_roof_enable": { "value": true },
"support_type": { "value": "'everywhere'" }, "support_type": { "value": "'everywhere'" },
"support_use_towers": { "value": false },
"support_xy_distance": { "value": 0.7 }, "support_xy_distance": { "value": 0.7 },
"support_xy_distance_overhang": { "value": 0.2 }, "support_xy_distance_overhang": { "value": 0.2 },
"support_z_distance": { "value": 0.3 }, "support_z_distance": { "value": 0.3 },

View file

@ -115,7 +115,6 @@
"support_interface_enable": { "value": true }, "support_interface_enable": { "value": true },
"support_pattern": { "value": "'triangles'" }, "support_pattern": { "value": "'triangles'" },
"support_roof_enable": { "value": true }, "support_roof_enable": { "value": true },
"support_use_towers": { "value": false },
"support_z_distance": { "value": 0.3 }, "support_z_distance": { "value": 0.3 },
"top_layers": { "value": 6 }, "top_layers": { "value": 6 },
"top_thickness": { "value": "layer_height * top_layers" }, "top_thickness": { "value": "layer_height * top_layers" },

View file

@ -4419,7 +4419,7 @@
"type": "float", "type": "float",
"value": "material_print_temperature", "value": "material_print_temperature",
"enabled": "cool_min_layer_time > 0", "enabled": "cool_min_layer_time > 0",
"minimum_value": "material_final_print_temperature", "minimum_value": "max(material_final_print_temperature, material_initial_print_temperature)",
"maximum_value": "material_print_temperature", "maximum_value": "material_print_temperature",
"settable_per_mesh": false, "settable_per_mesh": false,
"settable_per_extruder": true "settable_per_extruder": true
@ -4698,7 +4698,7 @@
"maximum_value": "999999", "maximum_value": "999999",
"type": "int", "type": "int",
"value": "1 if (support_interface_pattern == 'zigzag') else 0", "value": "1 if (support_interface_pattern == 'zigzag') else 0",
"enabled": "support_interface_enable or support_meshes_present", "enabled": "(support_enable and support_interface_enable) or support_meshes_present",
"limit_to_extruder": "support_interface_extruder_nr", "limit_to_extruder": "support_interface_extruder_nr",
"settable_per_mesh": false, "settable_per_mesh": false,
"settable_per_extruder": true, "settable_per_extruder": true,
@ -4715,7 +4715,7 @@
"maximum_value": "999999", "maximum_value": "999999",
"type": "int", "type": "int",
"value": "support_interface_wall_count", "value": "support_interface_wall_count",
"enabled": "support_interface_enable or support_meshes_present", "enabled": "(support_enable and support_interface_enable) or support_meshes_present",
"limit_to_extruder": "support_interface_extruder_nr", "limit_to_extruder": "support_interface_extruder_nr",
"settable_per_mesh": false, "settable_per_mesh": false,
"settable_per_extruder": true "settable_per_extruder": true
@ -4731,7 +4731,7 @@
"maximum_value": "999999", "maximum_value": "999999",
"type": "int", "type": "int",
"value": "support_interface_wall_count", "value": "support_interface_wall_count",
"enabled": "support_interface_enable or support_meshes_present", "enabled": "(support_enable and support_interface_enable) or support_meshes_present",
"limit_to_extruder": "support_interface_extruder_nr", "limit_to_extruder": "support_interface_extruder_nr",
"settable_per_mesh": false, "settable_per_mesh": false,
"settable_per_extruder": true "settable_per_extruder": true
@ -4957,6 +4957,7 @@
"unit": "mm", "unit": "mm",
"type": "float", "type": "float",
"default_value": 0.3, "default_value": 0.3,
"value": "0 if support_bottom_enable else 0.3",
"limit_to_extruder": "support_bottom_extruder_nr if support_bottom_enable else support_infill_extruder_nr", "limit_to_extruder": "support_bottom_extruder_nr if support_bottom_enable else support_infill_extruder_nr",
"minimum_value": "0", "minimum_value": "0",
"maximum_value_warning": "1.0", "maximum_value_warning": "1.0",
@ -4970,10 +4971,10 @@
"unit": "mm", "unit": "mm",
"type": "float", "type": "float",
"default_value": 5.0, "default_value": 5.0,
"limit_to_extruder": "support_interface_extruder_nr if support_interface_enable else support_infill_extruder_nr", "limit_to_extruder": "support_interface_extruder_nr if support_bottom_enable else support_infill_extruder_nr",
"minimum_value": "0", "minimum_value": "0",
"maximum_value_warning": "10.0", "maximum_value_warning": "10.0",
"enabled": "support_enable or support_meshes_present", "enabled": "(support_enable or support_meshes_present) and support_bottom_stair_step_height > 0",
"settable_per_mesh": true "settable_per_mesh": true
}, },
"support_bottom_stair_step_min_slope": "support_bottom_stair_step_min_slope":
@ -4986,7 +4987,7 @@
"limit_to_extruder": "support_bottom_extruder_nr if support_bottom_enable else support_infill_extruder_nr", "limit_to_extruder": "support_bottom_extruder_nr if support_bottom_enable else support_infill_extruder_nr",
"minimum_value": "0.01", "minimum_value": "0.01",
"maximum_value": "89.99", "maximum_value": "89.99",
"enabled": "support_enable or support_meshes_present", "enabled": "(support_enable or support_meshes_present) and support_bottom_stair_step_height > 0",
"settable_per_mesh": true "settable_per_mesh": true
}, },
"support_join_distance": "support_join_distance":
@ -5009,7 +5010,8 @@
"description": "Amount of offset applied to all support polygons in each layer. Positive values can smooth out the support areas and result in more sturdy support.", "description": "Amount of offset applied to all support polygons in each layer. Positive values can smooth out the support areas and result in more sturdy support.",
"unit": "mm", "unit": "mm",
"type": "float", "type": "float",
"default_value": 0, "default_value": 0.8,
"value": "support_line_width + 0.4",
"limit_to_extruder": "support_infill_extruder_nr", "limit_to_extruder": "support_infill_extruder_nr",
"minimum_value_warning": "-1 * machine_nozzle_size", "minimum_value_warning": "-1 * machine_nozzle_size",
"maximum_value_warning": "10 * machine_nozzle_size", "maximum_value_warning": "10 * machine_nozzle_size",
@ -5093,7 +5095,7 @@
"default_value": false, "default_value": false,
"value": "extruderValue(support_roof_extruder_nr, 'support_interface_enable')", "value": "extruderValue(support_roof_extruder_nr, 'support_interface_enable')",
"limit_to_extruder": "support_roof_extruder_nr", "limit_to_extruder": "support_roof_extruder_nr",
"enabled": "support_enable or support_meshes_present", "enabled": "(support_enable or support_meshes_present) and support_interface_enable",
"settable_per_mesh": true "settable_per_mesh": true
}, },
"support_bottom_enable": "support_bottom_enable":
@ -5104,7 +5106,7 @@
"default_value": false, "default_value": false,
"value": "extruderValue(support_bottom_extruder_nr, 'support_interface_enable')", "value": "extruderValue(support_bottom_extruder_nr, 'support_interface_enable')",
"limit_to_extruder": "support_bottom_extruder_nr", "limit_to_extruder": "support_bottom_extruder_nr",
"enabled": "support_enable or support_meshes_present", "enabled": "(support_enable or support_meshes_present) and support_interface_enable",
"settable_per_mesh": true "settable_per_mesh": true
} }
} }
@ -5162,7 +5164,8 @@
"description": "When checking where there's model above and below the support, take steps of the given height. Lower values will slice slower, while higher values may cause normal support to be printed in some places where there should have been support interface.", "description": "When checking where there's model above and below the support, take steps of the given height. Lower values will slice slower, while higher values may cause normal support to be printed in some places where there should have been support interface.",
"unit": "mm", "unit": "mm",
"type": "float", "type": "float",
"default_value": 0.3, "default_value": 0.2,
"value": "layer_height",
"minimum_value": "0", "minimum_value": "0",
"maximum_value_warning": "support_interface_height", "maximum_value_warning": "support_interface_height",
"limit_to_extruder": "support_interface_extruder_nr", "limit_to_extruder": "support_interface_extruder_nr",

View file

@ -166,7 +166,6 @@
"support_interface_pattern": { "value": "'grid'" }, "support_interface_pattern": { "value": "'grid'" },
"support_interface_skip_height": { "value": 0.2 }, "support_interface_skip_height": { "value": 0.2 },
"support_pattern": { "value": "'zigzag'" }, "support_pattern": { "value": "'zigzag'" },
"support_use_towers": { "value": false },
"support_wall_count": { "value": 1 }, "support_wall_count": { "value": 1 },
"support_xy_distance": { "value": "wall_line_width_0 * 2" }, "support_xy_distance": { "value": "wall_line_width_0 * 2" },
"support_xy_distance_overhang": { "value": "wall_line_width_0" }, "support_xy_distance_overhang": { "value": "wall_line_width_0" },

View file

@ -114,7 +114,6 @@
"support_interface_pattern": { "value": "'grid'" }, "support_interface_pattern": { "value": "'grid'" },
"support_interface_skip_height": { "value": 0.2 }, "support_interface_skip_height": { "value": 0.2 },
"support_pattern": { "value": "'zigzag'" }, "support_pattern": { "value": "'zigzag'" },
"support_use_towers": { "value": false },
"support_wall_count": { "value": 0 }, "support_wall_count": { "value": 0 },
"support_xy_distance": { "value": "wall_line_width_0 * 3" }, "support_xy_distance": { "value": "wall_line_width_0 * 3" },
"support_xy_distance_overhang": { "value": "wall_line_width_0" }, "support_xy_distance_overhang": { "value": "wall_line_width_0" },

View file

@ -316,7 +316,6 @@
"support_join_distance": { "value": 5.0 }, "support_join_distance": { "value": 5.0 },
"support_offset": { "value": 3.0 }, "support_offset": { "value": 3.0 },
"support_tree_angle": { "value": 60 }, "support_tree_angle": { "value": 60 },
"support_use_towers": { "value": false },
"support_wall_count": { "value": "1 if (support_structure == 'tree') else 0" }, "support_wall_count": { "value": "1 if (support_structure == 'tree') else 0" },
"support_z_distance": { "value": "layer_height if (2*layer_height > 0.8*machine_nozzle_size) else (2*layer_height)" }, "support_z_distance": { "value": "layer_height if (2*layer_height > 0.8*machine_nozzle_size) else (2*layer_height)" },
"top_bottom_pattern": { "value": "'zigzag'" }, "top_bottom_pattern": { "value": "'zigzag'" },

View file

@ -226,7 +226,6 @@
"support_interface_pattern": { "value": "'grid'" }, "support_interface_pattern": { "value": "'grid'" },
"support_interface_skip_height": { "value": 0.2 }, "support_interface_skip_height": { "value": 0.2 },
"support_pattern": { "value": "'zigzag'" }, "support_pattern": { "value": "'zigzag'" },
"support_use_towers": { "value": false },
"support_wall_count": { "value": 1 }, "support_wall_count": { "value": 1 },
"support_xy_distance": { "value": "wall_line_width_0 * 2" }, "support_xy_distance": { "value": "wall_line_width_0 * 2" },
"support_xy_distance_overhang": { "value": "wall_line_width_0" }, "support_xy_distance_overhang": { "value": "wall_line_width_0" },

View file

@ -72,7 +72,6 @@
"support_interface_pattern": { "value": "'grid'" }, "support_interface_pattern": { "value": "'grid'" },
"support_interface_skip_height": { "value": 0.2 }, "support_interface_skip_height": { "value": 0.2 },
"support_pattern": { "value": "'zigzag'" }, "support_pattern": { "value": "'zigzag'" },
"support_use_towers": { "value": false },
"support_wall_count": { "value": 1 }, "support_wall_count": { "value": 1 },
"support_xy_distance": { "value": "wall_line_width_0 * 2" }, "support_xy_distance": { "value": "wall_line_width_0 * 2" },
"support_xy_distance_overhang": { "value": "wall_line_width_0" }, "support_xy_distance_overhang": { "value": "wall_line_width_0" },

View file

@ -90,7 +90,6 @@
"support_interface_pattern": { "value": "'grid'" }, "support_interface_pattern": { "value": "'grid'" },
"support_interface_skip_height": { "value": 0.2 }, "support_interface_skip_height": { "value": 0.2 },
"support_pattern": { "value": "'zigzag'" }, "support_pattern": { "value": "'zigzag'" },
"support_use_towers": { "value": false },
"support_wall_count": { "value": 1 }, "support_wall_count": { "value": 1 },
"support_xy_distance": { "value": "wall_line_width_0 * 2" }, "support_xy_distance": { "value": "wall_line_width_0 * 2" },
"support_xy_distance_overhang": { "value": "wall_line_width_0" }, "support_xy_distance_overhang": { "value": "wall_line_width_0" },

View file

@ -90,7 +90,6 @@
"support_interface_pattern": { "value": "'grid'" }, "support_interface_pattern": { "value": "'grid'" },
"support_interface_skip_height": { "value": 0.2 }, "support_interface_skip_height": { "value": 0.2 },
"support_pattern": { "value": "'zigzag'" }, "support_pattern": { "value": "'zigzag'" },
"support_use_towers": { "value": false },
"support_wall_count": { "value": 1 }, "support_wall_count": { "value": 1 },
"support_xy_distance": { "value": "wall_line_width_0 * 2" }, "support_xy_distance": { "value": "wall_line_width_0 * 2" },
"support_xy_distance_overhang": { "value": "wall_line_width_0" }, "support_xy_distance_overhang": { "value": "wall_line_width_0" },

View file

@ -142,7 +142,6 @@
"speed_wall_x": { "value": "speed_wall" }, "speed_wall_x": { "value": "speed_wall" },
"support_angle": { "value": "45" }, "support_angle": { "value": "45" },
"support_pattern": { "value": "'triangles'" }, "support_pattern": { "value": "'triangles'" },
"support_use_towers": { "value": "False" },
"support_xy_distance": { "value": "wall_line_width_0 * 2.5" }, "support_xy_distance": { "value": "wall_line_width_0 * 2.5" },
"support_xy_distance_overhang": { "value": "wall_line_width_0" }, "support_xy_distance_overhang": { "value": "wall_line_width_0" },
"support_z_distance": { "value": "0" }, "support_z_distance": { "value": "0" },

View file

@ -111,7 +111,6 @@
"support_interface_pattern": { "value": "'grid'" }, "support_interface_pattern": { "value": "'grid'" },
"support_interface_skip_height": { "value": 0.2 }, "support_interface_skip_height": { "value": 0.2 },
"support_pattern": { "value": "'zigzag'" }, "support_pattern": { "value": "'zigzag'" },
"support_use_towers": { "value": false },
"support_wall_count": { "value": 1 }, "support_wall_count": { "value": 1 },
"support_xy_distance": { "value": "wall_line_width_0 * 2" }, "support_xy_distance": { "value": "wall_line_width_0 * 2" },
"support_xy_distance_overhang": { "value": "wall_line_width_0" }, "support_xy_distance_overhang": { "value": "wall_line_width_0" },

View file

@ -61,7 +61,6 @@
"speed_wall_x": { "value": 32 }, "speed_wall_x": { "value": 32 },
"support_infill_rate": { "value": 5 }, "support_infill_rate": { "value": 5 },
"support_pattern": { "default_value": "lines" }, "support_pattern": { "default_value": "lines" },
"support_use_towers": { "value": false },
"switch_extruder_retraction_amount": { "value": 100 }, "switch_extruder_retraction_amount": { "value": 100 },
"switch_extruder_retraction_speeds": { "value": 60 }, "switch_extruder_retraction_speeds": { "value": 60 },
"wall_overhang_speed_factor": { "value": 50 }, "wall_overhang_speed_factor": { "value": 50 },

View file

@ -124,7 +124,6 @@
"support_tower_diameter": { "value": 3 }, "support_tower_diameter": { "value": 3 },
"support_tower_roof_angle": { "value": "65" }, "support_tower_roof_angle": { "value": "65" },
"support_type": { "value": "'everywhere'" }, "support_type": { "value": "'everywhere'" },
"support_use_towers": { "value": true },
"support_wall_count": { "value": "1 if (support_structure == 'tree') else 0" }, "support_wall_count": { "value": "1 if (support_structure == 'tree') else 0" },
"support_xy_distance": { "value": 0.7 }, "support_xy_distance": { "value": 0.7 },
"support_xy_distance_overhang": { "value": 0.2 }, "support_xy_distance_overhang": { "value": 0.2 },

View file

@ -162,7 +162,6 @@
"support_interface_pattern": { "value": "'grid'" }, "support_interface_pattern": { "value": "'grid'" },
"support_interface_skip_height": { "value": 0.2 }, "support_interface_skip_height": { "value": 0.2 },
"support_pattern": { "value": "'zigzag'" }, "support_pattern": { "value": "'zigzag'" },
"support_use_towers": { "value": false },
"support_wall_count": { "value": 1 }, "support_wall_count": { "value": 1 },
"support_xy_distance": { "value": "wall_line_width_0 * 2" }, "support_xy_distance": { "value": "wall_line_width_0 * 2" },
"support_xy_distance_overhang": { "value": "wall_line_width_0" }, "support_xy_distance_overhang": { "value": "wall_line_width_0" },

View file

@ -132,10 +132,8 @@
"support_interface_enable": { "default_value": true }, "support_interface_enable": { "default_value": true },
"support_interface_height": { "value": "layer_height * 4" }, "support_interface_height": { "value": "layer_height * 4" },
"support_interface_pattern": { "default_value": "grid" }, "support_interface_pattern": { "default_value": "grid" },
"support_interface_skip_height": { "default_value": 0.24 },
"support_pattern": { "default_value": "zigzag" }, "support_pattern": { "default_value": "zigzag" },
"support_type": { "default_value": "buildplate" }, "support_type": { "default_value": "buildplate" },
"support_use_towers": { "default_value": false },
"support_wall_count": { "value": 1 }, "support_wall_count": { "value": 1 },
"support_xy_distance": { "value": "wall_line_width_0 * 2" }, "support_xy_distance": { "value": "wall_line_width_0 * 2" },
"support_xy_distance_overhang": { "value": "wall_line_width_0" }, "support_xy_distance_overhang": { "value": "wall_line_width_0" },

View file

@ -75,7 +75,6 @@
"support_interface_density": { "value": 40 }, "support_interface_density": { "value": 40 },
"support_interface_enable": { "value": true }, "support_interface_enable": { "value": true },
"support_interface_height": { "value": "layer_height * 3" }, "support_interface_height": { "value": "layer_height * 3" },
"support_use_towers": { "value": false },
"support_xy_distance": { "value": "wall_line_width_0 * 2" }, "support_xy_distance": { "value": "wall_line_width_0 * 2" },
"support_xy_distance_overhang": { "value": "wall_line_width_0" }, "support_xy_distance_overhang": { "value": "wall_line_width_0" },
"support_z_distance": { "value": "layer_height if layer_height >= 0.2 else layer_height * 2" }, "support_z_distance": { "value": "layer_height if layer_height >= 0.2 else layer_height * 2" },

View file

@ -75,7 +75,6 @@
"support_interface_density": { "value": 40 }, "support_interface_density": { "value": 40 },
"support_interface_enable": { "value": true }, "support_interface_enable": { "value": true },
"support_interface_height": { "value": "layer_height * 3" }, "support_interface_height": { "value": "layer_height * 3" },
"support_use_towers": { "value": false },
"support_xy_distance": { "value": "wall_line_width_0 * 2" }, "support_xy_distance": { "value": "wall_line_width_0 * 2" },
"support_xy_distance_overhang": { "value": "wall_line_width_0" }, "support_xy_distance_overhang": { "value": "wall_line_width_0" },
"support_z_distance": { "value": "layer_height if layer_height >= 0.2 else layer_height * 2" }, "support_z_distance": { "value": "layer_height if layer_height >= 0.2 else layer_height * 2" },

View file

@ -228,7 +228,6 @@
"support_interface_material_flow": { "value": "99" }, "support_interface_material_flow": { "value": "99" },
"support_line_distance": { "value": "0 if support_infill_rate == 0 else (support_line_width * 100) / support_infill_rate * (2 if support_pattern == 'grid' else (3 if support_pattern == 'triangles' else 1))" }, "support_line_distance": { "value": "0 if support_infill_rate == 0 else (support_line_width * 100) / support_infill_rate * (2 if support_pattern == 'grid' else (3 if support_pattern == 'triangles' else 1))" },
"support_material_flow": { "value": "98" }, "support_material_flow": { "value": "98" },
"support_offset": { "default_value": 0.2 },
"support_roof_density": { "value": "70" }, "support_roof_density": { "value": "70" },
"support_roof_extruder_nr": { "value": "0" }, "support_roof_extruder_nr": { "value": "0" },
"support_roof_height": { "value": "0.4" }, "support_roof_height": { "value": "0.4" },
@ -238,7 +237,6 @@
"support_skip_zag_per_mm": { "default_value": 10 }, "support_skip_zag_per_mm": { "default_value": 10 },
"support_top_distance": { "value": "0.2" }, "support_top_distance": { "value": "0.2" },
"support_tree_collision_resolution": { "value": "0.2" }, "support_tree_collision_resolution": { "value": "0.2" },
"support_use_towers": { "default_value": false },
"support_xy_distance": { "default_value": 0.6 }, "support_xy_distance": { "default_value": 0.6 },
"support_xy_distance_overhang": { "value": "0.5" }, "support_xy_distance_overhang": { "value": "0.5" },
"support_z_distance": { "default_value": 0.2 }, "support_z_distance": { "default_value": 0.2 },

View file

@ -277,7 +277,6 @@
"maximum_value_warning": "machine_nozzle_size*1.5", "maximum_value_warning": "machine_nozzle_size*1.5",
"value": "extruderValue(support_roof_extruder_nr if support_roof_enable else support_infill_extruder_nr, 'support_z_distance')" "value": "extruderValue(support_roof_extruder_nr if support_roof_enable else support_infill_extruder_nr, 'support_z_distance')"
}, },
"support_use_towers": { "default_value": true },
"support_xy_distance": { "value": "line_width * 1.7" }, "support_xy_distance": { "value": "line_width * 1.7" },
"support_xy_distance_overhang": { "value": "wall_line_width_0" }, "support_xy_distance_overhang": { "value": "wall_line_width_0" },
"support_z_distance": "support_z_distance":

View file

@ -72,7 +72,6 @@
"support_interface_pattern": { "value": "'grid'" }, "support_interface_pattern": { "value": "'grid'" },
"support_interface_skip_height": { "value": 0.2 }, "support_interface_skip_height": { "value": 0.2 },
"support_pattern": { "value": "'zigzag'" }, "support_pattern": { "value": "'zigzag'" },
"support_use_towers": { "value": false },
"support_wall_count": { "value": 1 }, "support_wall_count": { "value": 1 },
"support_xy_distance": { "value": "wall_line_width_0 * 2" }, "support_xy_distance": { "value": "wall_line_width_0 * 2" },
"support_xy_distance_overhang": { "value": "wall_line_width_0" }, "support_xy_distance_overhang": { "value": "wall_line_width_0" },

View file

@ -113,7 +113,6 @@
"support_interface_pattern": { "value": "'grid'" }, "support_interface_pattern": { "value": "'grid'" },
"support_interface_skip_height": { "value": 0.2 }, "support_interface_skip_height": { "value": 0.2 },
"support_pattern": { "value": "'zigzag'" }, "support_pattern": { "value": "'zigzag'" },
"support_use_towers": { "value": false },
"support_wall_count": { "value": "1 if (support_structure == 'tree') else 0" }, "support_wall_count": { "value": "1 if (support_structure == 'tree') else 0" },
"support_xy_distance": { "value": "wall_line_width_0 * 3" }, "support_xy_distance": { "value": "wall_line_width_0 * 3" },
"support_xy_distance_overhang": { "value": "wall_line_width_0" }, "support_xy_distance_overhang": { "value": "wall_line_width_0" },

View file

@ -70,7 +70,6 @@
"support_interface_pattern": { "value": "'grid'" }, "support_interface_pattern": { "value": "'grid'" },
"support_interface_skip_height": { "value": 0.2 }, "support_interface_skip_height": { "value": 0.2 },
"support_pattern": { "value": "'zigzag'" }, "support_pattern": { "value": "'zigzag'" },
"support_use_towers": { "value": false },
"support_wall_count": { "value": "1 if (support_structure == 'tree') else 0" }, "support_wall_count": { "value": "1 if (support_structure == 'tree') else 0" },
"support_xy_distance": { "value": "wall_line_width_0 * 2" }, "support_xy_distance": { "value": "wall_line_width_0 * 2" },
"support_xy_distance_overhang": { "value": "wall_line_width_0" }, "support_xy_distance_overhang": { "value": "wall_line_width_0" },

View file

@ -41,7 +41,7 @@
"cool_min_layer_time": { "value": 6 }, "cool_min_layer_time": { "value": 6 },
"cool_min_layer_time_fan_speed_max": { "value": "cool_min_layer_time + 5" }, "cool_min_layer_time_fan_speed_max": { "value": "cool_min_layer_time + 5" },
"cool_min_speed": { "value": "round(speed_wall_0 * 3 / 4) if cool_lift_head else round(speed_wall_0 / 5)" }, "cool_min_speed": { "value": "round(speed_wall_0 * 3 / 4) if cool_lift_head else round(speed_wall_0 / 5)" },
"cool_min_temperature": { "value": "material_print_temperature - 15" }, "cool_min_temperature": { "value": "max([material_final_print_temperature, material_initial_print_temperature, material_print_temperature - 15])" },
"gradual_support_infill_step_height": { "value": "4 * layer_height" }, "gradual_support_infill_step_height": { "value": "4 * layer_height" },
"gradual_support_infill_steps": { "value": "2 if support_interface_enable else 0" }, "gradual_support_infill_steps": { "value": "2 if support_interface_enable else 0" },
"infill_material_flow": { "value": "(1.95-infill_sparse_density / 100 if infill_sparse_density > 95 else 1) * material_flow" }, "infill_material_flow": { "value": "(1.95-infill_sparse_density / 100 if infill_sparse_density > 95 else 1) * material_flow" },
@ -81,7 +81,6 @@
}, },
"meshfix_maximum_deviation": { "value": "machine_nozzle_size / 10" }, "meshfix_maximum_deviation": { "value": "machine_nozzle_size / 10" },
"meshfix_maximum_resolution": { "value": "max(speed_wall_0 / 75, 0.5)" }, "meshfix_maximum_resolution": { "value": "max(speed_wall_0 / 75, 0.5)" },
"minimum_support_area": { "value": "2" },
"raft_base_speed": { "value": "raft_speed" }, "raft_base_speed": { "value": "raft_speed" },
"raft_base_thickness": { "value": "min(machine_nozzle_size * 0.75, 0.3)" }, "raft_base_thickness": { "value": "min(machine_nozzle_size * 0.75, 0.3)" },
"raft_interface_fan_speed": { "value": "(raft_base_fan_speed + raft_surface_fan_speed) / 2" }, "raft_interface_fan_speed": { "value": "(raft_base_fan_speed + raft_surface_fan_speed) / 2" },
@ -117,12 +116,10 @@
"support_interface_material_flow": { "value": "skin_material_flow" }, "support_interface_material_flow": { "value": "skin_material_flow" },
"support_interface_offset": { "value": "support_offset" }, "support_interface_offset": { "value": "support_offset" },
"support_interface_pattern": { "value": "'zigzag'" }, "support_interface_pattern": { "value": "'zigzag'" },
"support_interface_skip_height": { "value": "layer_height" },
"support_line_distance": { "minimum_value_warning": "0 if support_structure == 'tree' else support_line_width" }, "support_line_distance": { "minimum_value_warning": "0 if support_structure == 'tree' else support_line_width" },
"support_offset": { "value": "0.9 if support_interface_enable else 0" }, "support_tower_maximum_supported_diameter": { "value": "support_tower_diameter" },
"support_tower_roof_angle": { "value": "0 if support_interface_enable else 65" }, "support_tower_roof_angle": { "value": "0 if support_interface_enable else 65" },
"support_wall_count": { "value": "1 if support_structure == 'tree' else 0" }, "support_wall_count": { "value": "1 if support_structure == 'tree' else 0" },
"support_xy_distance": { "value": "1" },
"support_xy_distance_overhang": { "value": "0.2" }, "support_xy_distance_overhang": { "value": "0.2" },
"support_z_distance": { "value": "0" }, "support_z_distance": { "value": "0" },
"top_layers": { "value": "math.ceil(round(top_thickness / resolveOrValue('layer_height'), 4))" }, "top_layers": { "value": "math.ceil(round(top_thickness / resolveOrValue('layer_height'), 4))" },

View file

@ -101,11 +101,6 @@
"machine_width": { "default_value": 223 }, "machine_width": { "default_value": 223 },
"material_bed_temperature": { "maximum_value": 110 }, "material_bed_temperature": { "maximum_value": 110 },
"material_bed_temperature_layer_0": { "maximum_value": 110 }, "material_bed_temperature_layer_0": { "maximum_value": 110 },
"material_initial_print_temperature":
{
"maximum_value": 260,
"value": "material_print_temperature"
},
"material_print_temperature": { "maximum_value": 260 }, "material_print_temperature": { "maximum_value": 260 },
"material_print_temperature_layer_0": { "maximum_value": 260 }, "material_print_temperature_layer_0": { "maximum_value": 260 },
"meshfix_maximum_deviation": { "value": "(layer_height / 3) if magic_spiralize else (layer_height / 4)" }, "meshfix_maximum_deviation": { "value": "(layer_height / 3) if magic_spiralize else (layer_height / 4)" },

View file

@ -101,7 +101,6 @@
"support_interface_pattern": { "value": "'grid'" }, "support_interface_pattern": { "value": "'grid'" },
"support_interface_skip_height": { "value": 0.2 }, "support_interface_skip_height": { "value": 0.2 },
"support_pattern": { "value": "'zigzag'" }, "support_pattern": { "value": "'zigzag'" },
"support_use_towers": { "value": false },
"support_wall_count": { "value": 1 }, "support_wall_count": { "value": 1 },
"support_xy_distance": { "value": "wall_line_width_0 * 2" }, "support_xy_distance": { "value": "wall_line_width_0 * 2" },
"support_xy_distance_overhang": { "value": "wall_line_width_0" }, "support_xy_distance_overhang": { "value": "wall_line_width_0" },

View file

@ -262,7 +262,6 @@
"support_fan_enable": { "value": true }, "support_fan_enable": { "value": true },
"support_pattern": { "value": "'zigzag'" }, "support_pattern": { "value": "'zigzag'" },
"support_supported_skin_fan_speed": { "value": 100 }, "support_supported_skin_fan_speed": { "value": 100 },
"support_use_towers": { "value": true },
"support_xy_distance": { "value": "wall_line_width_0 * 2" }, "support_xy_distance": { "value": "wall_line_width_0 * 2" },
"support_xy_distance_overhang": { "value": "wall_line_width_0" }, "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_z_distance": { "value": "layer_height if layer_height >= 0.16 else layer_height*2" },

View file

@ -714,7 +714,7 @@ UM.Window
{ {
if(!materialsSyncDialog.hasExportedUsb) if(!materialsSyncDialog.hasExportedUsb)
{ {
exportUsbDialog.currentFolder = syncModel.getPreferredExportAllPath(); exportUsbDialog.currentFolder = `${syncModel.getPreferredExportAllPath()}/materials.umm`;
exportUsbDialog.open(); exportUsbDialog.open();
} }
else else

View file

@ -17,7 +17,6 @@ infill_overlap = =0 if infill_sparse_density > 80 else 10
infill_pattern = ='zigzag' if infill_sparse_density > 80 else 'grid' infill_pattern = ='zigzag' if infill_sparse_density > 80 else 'grid'
machine_nozzle_cool_down_speed = 0.9 machine_nozzle_cool_down_speed = 0.9
machine_nozzle_heat_up_speed = 1.4 machine_nozzle_heat_up_speed = 1.4
material_initial_print_temperature = =max(-273.15, material_print_temperature - 10)
material_print_temperature = 190 material_print_temperature = 190
retraction_hop = 0.2 retraction_hop = 0.2
skin_overlap = 5 skin_overlap = 5

View file

@ -14,12 +14,11 @@ weight = 0
[values] [values]
brim_width = 10 brim_width = 10
cool_min_temperature = =material_print_temperature - 10
infill_pattern = ='zigzag' if infill_sparse_density > 80 else 'tetrahedral' infill_pattern = ='zigzag' if infill_sparse_density > 80 else 'tetrahedral'
infill_wipe_dist = 0.1 infill_wipe_dist = 0.1
machine_min_cool_heat_time_window = 15 machine_min_cool_heat_time_window = 15
material_final_print_temperature = =material_print_temperature - 10 material_final_print_temperature = =material_print_temperature - 10
material_initial_print_temperature = =material_print_temperature - 5 material_initial_print_temperature = =material_print_temperature - 10
material_print_temperature = =default_material_print_temperature - 15 material_print_temperature = =default_material_print_temperature - 15
multiple_mesh_overlap = 0 multiple_mesh_overlap = 0
prime_tower_enable = False prime_tower_enable = False

View file

@ -17,7 +17,6 @@ infill_overlap = =0 if infill_sparse_density > 80 else 10
infill_pattern = ='zigzag' if infill_sparse_density > 80 else 'grid' infill_pattern = ='zigzag' if infill_sparse_density > 80 else 'grid'
machine_nozzle_cool_down_speed = 0.9 machine_nozzle_cool_down_speed = 0.9
machine_nozzle_heat_up_speed = 1.4 machine_nozzle_heat_up_speed = 1.4
material_initial_print_temperature = =max(-273.15, material_print_temperature - 10)
material_print_temperature = =default_material_print_temperature - 15 material_print_temperature = =default_material_print_temperature - 15
skin_overlap = 5 skin_overlap = 5
speed_print = 30 speed_print = 30

View file

@ -14,7 +14,6 @@ weight = -2
[values] [values]
machine_nozzle_cool_down_speed = 0.85 machine_nozzle_cool_down_speed = 0.85
machine_nozzle_heat_up_speed = 1.5 machine_nozzle_heat_up_speed = 1.5
material_initial_print_temperature = =material_print_temperature - 5
material_print_temperature = =default_material_print_temperature + 10 material_print_temperature = =default_material_print_temperature + 10
prime_tower_enable = False prime_tower_enable = False
skin_overlap = 20 skin_overlap = 20

View file

@ -14,7 +14,6 @@ weight = -1
[values] [values]
machine_nozzle_cool_down_speed = 0.85 machine_nozzle_cool_down_speed = 0.85
machine_nozzle_heat_up_speed = 1.5 machine_nozzle_heat_up_speed = 1.5
material_initial_print_temperature = =material_print_temperature - 5
material_print_temperature = =default_material_print_temperature + 5 material_print_temperature = =default_material_print_temperature + 5
prime_tower_enable = False prime_tower_enable = False
speed_print = 60 speed_print = 60

View file

@ -14,7 +14,6 @@ weight = 1
[values] [values]
machine_nozzle_cool_down_speed = 0.8 machine_nozzle_cool_down_speed = 0.8
machine_nozzle_heat_up_speed = 1.5 machine_nozzle_heat_up_speed = 1.5
material_initial_print_temperature = =material_print_temperature - 5
material_print_temperature = =default_material_print_temperature - 5 material_print_temperature = =default_material_print_temperature - 5
prime_tower_enable = False prime_tower_enable = False
speed_print = 50 speed_print = 50

View file

@ -14,7 +14,6 @@ weight = 0
[values] [values]
machine_nozzle_cool_down_speed = 0.85 machine_nozzle_cool_down_speed = 0.85
machine_nozzle_heat_up_speed = 1.5 machine_nozzle_heat_up_speed = 1.5
material_initial_print_temperature = =material_print_temperature - 5
prime_tower_enable = False prime_tower_enable = False
speed_print = 55 speed_print = 55
speed_topbottom = =math.ceil(speed_print * 30 / 55) speed_topbottom = =math.ceil(speed_print * 30 / 55)

View file

@ -17,7 +17,6 @@ infill_pattern = ='zigzag' if infill_sparse_density > 80 else 'triangles'
infill_wipe_dist = 0 infill_wipe_dist = 0
layer_height = 0.2 layer_height = 0.2
machine_min_cool_heat_time_window = 15 machine_min_cool_heat_time_window = 15
material_initial_print_temperature = =material_print_temperature - 5
material_print_temperature = =default_material_print_temperature + 10 material_print_temperature = =default_material_print_temperature + 10
multiple_mesh_overlap = 0 multiple_mesh_overlap = 0
prime_tower_enable = True prime_tower_enable = True

View file

@ -17,7 +17,6 @@ infill_pattern = ='zigzag' if infill_sparse_density > 80 else 'triangles'
infill_wipe_dist = 0 infill_wipe_dist = 0
layer_height = 0.15 layer_height = 0.15
machine_min_cool_heat_time_window = 15 machine_min_cool_heat_time_window = 15
material_initial_print_temperature = =material_print_temperature - 5
material_print_temperature = =default_material_print_temperature + 10 material_print_temperature = =default_material_print_temperature + 10
multiple_mesh_overlap = 0 multiple_mesh_overlap = 0
prime_tower_enable = True prime_tower_enable = True

View file

@ -19,7 +19,6 @@ layer_height = 0.06
machine_min_cool_heat_time_window = 15 machine_min_cool_heat_time_window = 15
machine_nozzle_cool_down_speed = 0.85 machine_nozzle_cool_down_speed = 0.85
machine_nozzle_heat_up_speed = 1.5 machine_nozzle_heat_up_speed = 1.5
material_initial_print_temperature = =material_print_temperature - 5
material_print_temperature = =default_material_print_temperature + 2 material_print_temperature = =default_material_print_temperature + 2
multiple_mesh_overlap = 0 multiple_mesh_overlap = 0
prime_tower_enable = True prime_tower_enable = True

View file

@ -18,7 +18,6 @@ infill_wipe_dist = 0
machine_min_cool_heat_time_window = 15 machine_min_cool_heat_time_window = 15
machine_nozzle_cool_down_speed = 0.85 machine_nozzle_cool_down_speed = 0.85
machine_nozzle_heat_up_speed = 1.5 machine_nozzle_heat_up_speed = 1.5
material_initial_print_temperature = =material_print_temperature - 5
material_print_temperature = =default_material_print_temperature + 5 material_print_temperature = =default_material_print_temperature + 5
multiple_mesh_overlap = 0 multiple_mesh_overlap = 0
prime_tower_enable = True prime_tower_enable = True

View file

@ -12,7 +12,6 @@ variant = AA 0.4
weight = -2 weight = -2
[values] [values]
material_initial_print_temperature = =material_print_temperature - 5
material_print_temperature = =default_material_print_temperature + 10 material_print_temperature = =default_material_print_temperature + 10
skin_overlap = 20 skin_overlap = 20
speed_print = 60 speed_print = 60

View file

@ -12,7 +12,6 @@ variant = AA 0.4
weight = -1 weight = -1
[values] [values]
material_initial_print_temperature = =material_print_temperature - 5
material_print_temperature = =default_material_print_temperature + 5 material_print_temperature = =default_material_print_temperature + 5
speed_print = 60 speed_print = 60
speed_topbottom = =math.ceil(speed_print * 30 / 60) speed_topbottom = =math.ceil(speed_print * 30 / 60)

View file

@ -14,7 +14,6 @@ weight = 1
[values] [values]
machine_nozzle_cool_down_speed = 0.85 machine_nozzle_cool_down_speed = 0.85
machine_nozzle_heat_up_speed = 1.5 machine_nozzle_heat_up_speed = 1.5
material_initial_print_temperature = =material_print_temperature - 5
material_print_temperature = =default_material_print_temperature - 5 material_print_temperature = =default_material_print_temperature - 5
speed_print = 50 speed_print = 50
speed_topbottom = =math.ceil(speed_print * 30 / 50) speed_topbottom = =math.ceil(speed_print * 30 / 50)

View file

@ -14,7 +14,6 @@ weight = 0
[values] [values]
machine_nozzle_cool_down_speed = 0.85 machine_nozzle_cool_down_speed = 0.85
machine_nozzle_heat_up_speed = 1.5 machine_nozzle_heat_up_speed = 1.5
material_initial_print_temperature = =material_print_temperature - 5
speed_print = 55 speed_print = 55
speed_topbottom = =math.ceil(speed_print * 30 / 55) speed_topbottom = =math.ceil(speed_print * 30 / 55)
speed_wall = =math.ceil(speed_print * 30 / 55) speed_wall = =math.ceil(speed_print * 30 / 55)

View file

@ -13,7 +13,6 @@ weight = -2
[values] [values]
adhesion_type = brim adhesion_type = brim
material_initial_print_temperature = =material_print_temperature - 5
material_print_temperature = =default_material_print_temperature + 10 material_print_temperature = =default_material_print_temperature + 10
ooze_shield_angle = 40 ooze_shield_angle = 40
raft_airgap = 0.25 raft_airgap = 0.25

View file

@ -13,7 +13,6 @@ weight = -1
[values] [values]
adhesion_type = brim adhesion_type = brim
material_initial_print_temperature = =material_print_temperature - 5
material_print_temperature = =default_material_print_temperature + 5 material_print_temperature = =default_material_print_temperature + 5
ooze_shield_angle = 40 ooze_shield_angle = 40
raft_airgap = 0.25 raft_airgap = 0.25

View file

@ -13,7 +13,6 @@ weight = 1
[values] [values]
adhesion_type = brim adhesion_type = brim
material_initial_print_temperature = =material_print_temperature - 5
ooze_shield_angle = 40 ooze_shield_angle = 40
raft_airgap = 0.25 raft_airgap = 0.25
skin_overlap = 50 skin_overlap = 50

View file

@ -13,7 +13,6 @@ weight = 0
[values] [values]
adhesion_type = brim adhesion_type = brim
material_initial_print_temperature = =material_print_temperature - 5
ooze_shield_angle = 40 ooze_shield_angle = 40
raft_airgap = 0.25 raft_airgap = 0.25
skin_overlap = 50 skin_overlap = 50

View file

@ -22,7 +22,6 @@ layer_height = 0.2
machine_min_cool_heat_time_window = 15 machine_min_cool_heat_time_window = 15
machine_nozzle_cool_down_speed = 0.85 machine_nozzle_cool_down_speed = 0.85
machine_nozzle_heat_up_speed = 1.5 machine_nozzle_heat_up_speed = 1.5
material_initial_print_temperature = =material_print_temperature - 5
material_print_temperature = =default_material_print_temperature + 10 material_print_temperature = =default_material_print_temperature + 10
multiple_mesh_overlap = 0 multiple_mesh_overlap = 0
ooze_shield_angle = 40 ooze_shield_angle = 40

View file

@ -21,7 +21,6 @@ layer_height = 0.15
machine_min_cool_heat_time_window = 15 machine_min_cool_heat_time_window = 15
machine_nozzle_cool_down_speed = 0.85 machine_nozzle_cool_down_speed = 0.85
machine_nozzle_heat_up_speed = 1.5 machine_nozzle_heat_up_speed = 1.5
material_initial_print_temperature = =material_print_temperature - 5
material_print_temperature = =default_material_print_temperature + 10 material_print_temperature = =default_material_print_temperature + 10
multiple_mesh_overlap = 0 multiple_mesh_overlap = 0
ooze_shield_angle = 40 ooze_shield_angle = 40

View file

@ -22,7 +22,6 @@ layer_height = 0.06
machine_min_cool_heat_time_window = 15 machine_min_cool_heat_time_window = 15
machine_nozzle_cool_down_speed = 0.85 machine_nozzle_cool_down_speed = 0.85
machine_nozzle_heat_up_speed = 1.5 machine_nozzle_heat_up_speed = 1.5
material_initial_print_temperature = =material_print_temperature - 5
material_print_temperature = =default_material_print_temperature - 10 material_print_temperature = =default_material_print_temperature - 10
multiple_mesh_overlap = 0 multiple_mesh_overlap = 0
ooze_shield_angle = 40 ooze_shield_angle = 40

View file

@ -20,7 +20,6 @@ infill_wipe_dist = 0.1
machine_min_cool_heat_time_window = 15 machine_min_cool_heat_time_window = 15
machine_nozzle_cool_down_speed = 0.85 machine_nozzle_cool_down_speed = 0.85
machine_nozzle_heat_up_speed = 1.5 machine_nozzle_heat_up_speed = 1.5
material_initial_print_temperature = =material_print_temperature - 5
multiple_mesh_overlap = 0 multiple_mesh_overlap = 0
ooze_shield_angle = 40 ooze_shield_angle = 40
prime_tower_enable = True prime_tower_enable = True

View file

@ -12,7 +12,6 @@ variant = AA 0.4
weight = -2 weight = -2
[values] [values]
material_initial_print_temperature = =material_print_temperature
material_print_temperature = =default_material_print_temperature + 5 material_print_temperature = =default_material_print_temperature + 5
retraction_combing = all retraction_combing = all
skin_overlap = 20 skin_overlap = 20

View file

@ -12,7 +12,6 @@ variant = AA 0.4
weight = -1 weight = -1
[values] [values]
material_initial_print_temperature = =material_print_temperature - 5
material_print_temperature = =default_material_print_temperature material_print_temperature = =default_material_print_temperature
retraction_combing = all retraction_combing = all
speed_infill = =math.ceil(speed_print * 50 / 60) speed_infill = =math.ceil(speed_print * 50 / 60)

View file

@ -14,7 +14,6 @@ weight = 0
[values] [values]
machine_nozzle_cool_down_speed = 0.85 machine_nozzle_cool_down_speed = 0.85
machine_nozzle_heat_up_speed = 1.5 machine_nozzle_heat_up_speed = 1.5
material_initial_print_temperature = =material_print_temperature - 10
material_print_temperature = =default_material_print_temperature - 5 material_print_temperature = =default_material_print_temperature - 5
retraction_combing = all retraction_combing = all
speed_infill = =math.ceil(speed_print * 45 / 55) speed_infill = =math.ceil(speed_print * 45 / 55)

View file

@ -13,7 +13,6 @@ weight = -2
[values] [values]
brim_width = 20 brim_width = 20
cool_min_temperature = =material_print_temperature - 10
infill_overlap = 0 infill_overlap = 0
infill_pattern = ='zigzag' if infill_sparse_density > 80 else 'tetrahedral' infill_pattern = ='zigzag' if infill_sparse_density > 80 else 'tetrahedral'
infill_wipe_dist = 0.1 infill_wipe_dist = 0.1
@ -22,7 +21,7 @@ machine_min_cool_heat_time_window = 15
machine_nozzle_cool_down_speed = 0.85 machine_nozzle_cool_down_speed = 0.85
machine_nozzle_heat_up_speed = 1.5 machine_nozzle_heat_up_speed = 1.5
material_final_print_temperature = =material_print_temperature - 10 material_final_print_temperature = =material_print_temperature - 10
material_initial_print_temperature = =material_print_temperature - 5 material_initial_print_temperature = =material_print_temperature - 10
material_print_temperature = =default_material_print_temperature - 5 material_print_temperature = =default_material_print_temperature - 5
multiple_mesh_overlap = 0 multiple_mesh_overlap = 0
prime_tower_enable = False prime_tower_enable = False

View file

@ -13,7 +13,6 @@ weight = -1
[values] [values]
brim_width = 20 brim_width = 20
cool_min_temperature = =material_print_temperature - 10
infill_overlap = 0 infill_overlap = 0
infill_pattern = ='zigzag' if infill_sparse_density > 80 else 'tetrahedral' infill_pattern = ='zigzag' if infill_sparse_density > 80 else 'tetrahedral'
infill_wipe_dist = 0.1 infill_wipe_dist = 0.1
@ -21,8 +20,8 @@ layer_height = 0.15
machine_min_cool_heat_time_window = 15 machine_min_cool_heat_time_window = 15
machine_nozzle_cool_down_speed = 0.85 machine_nozzle_cool_down_speed = 0.85
machine_nozzle_heat_up_speed = 1.5 machine_nozzle_heat_up_speed = 1.5
material_final_print_temperature = =material_print_temperature - 12 material_final_print_temperature = =material_print_temperature - 10
material_initial_print_temperature = =material_print_temperature - 2 material_initial_print_temperature = =material_print_temperature - 10
material_print_temperature = =default_material_print_temperature - 13 material_print_temperature = =default_material_print_temperature - 13
multiple_mesh_overlap = 0 multiple_mesh_overlap = 0
prime_tower_enable = False prime_tower_enable = False

View file

@ -13,7 +13,6 @@ weight = 0
[values] [values]
brim_width = 20 brim_width = 20
cool_min_temperature = =material_print_temperature - 10
infill_overlap = 0 infill_overlap = 0
infill_pattern = ='zigzag' if infill_sparse_density > 80 else 'tetrahedral' infill_pattern = ='zigzag' if infill_sparse_density > 80 else 'tetrahedral'
infill_wipe_dist = 0.1 infill_wipe_dist = 0.1
@ -21,7 +20,7 @@ machine_min_cool_heat_time_window = 15
machine_nozzle_cool_down_speed = 0.85 machine_nozzle_cool_down_speed = 0.85
machine_nozzle_heat_up_speed = 1.5 machine_nozzle_heat_up_speed = 1.5
material_final_print_temperature = =material_print_temperature - 10 material_final_print_temperature = =material_print_temperature - 10
material_initial_print_temperature = =material_print_temperature - 5 material_initial_print_temperature = =material_print_temperature - 10
material_print_temperature = =default_material_print_temperature - 15 material_print_temperature = =default_material_print_temperature - 15
multiple_mesh_overlap = 0 multiple_mesh_overlap = 0
prime_tower_enable = False prime_tower_enable = False

View file

@ -13,7 +13,6 @@ weight = -2
[values] [values]
brim_width = 8.75 brim_width = 8.75
cool_min_temperature = =material_print_temperature - 10
gradual_infill_step_height = =5 * layer_height gradual_infill_step_height = =5 * layer_height
infill_overlap = 0 infill_overlap = 0
infill_pattern = ='zigzag' if infill_sparse_density > 80 else 'cross_3d' infill_pattern = ='zigzag' if infill_sparse_density > 80 else 'cross_3d'
@ -25,7 +24,7 @@ machine_nozzle_cool_down_speed = 0.5
machine_nozzle_heat_up_speed = 2.5 machine_nozzle_heat_up_speed = 2.5
material_final_print_temperature = =material_print_temperature - 10 material_final_print_temperature = =material_print_temperature - 10
material_flow = 106 material_flow = 106
material_initial_print_temperature = =material_print_temperature material_initial_print_temperature = =material_print_temperature - 10
material_print_temperature = =default_material_print_temperature + 2 material_print_temperature = =default_material_print_temperature + 2
multiple_mesh_overlap = 0 multiple_mesh_overlap = 0
prime_tower_wipe_enabled = True prime_tower_wipe_enabled = True

View file

@ -13,7 +13,6 @@ weight = -1
[values] [values]
brim_width = 8.75 brim_width = 8.75
cool_min_temperature = =material_print_temperature - 10
gradual_infill_step_height = =5 * layer_height gradual_infill_step_height = =5 * layer_height
infill_overlap = 0 infill_overlap = 0
infill_pattern = ='zigzag' if infill_sparse_density > 80 else 'cross_3d' infill_pattern = ='zigzag' if infill_sparse_density > 80 else 'cross_3d'
@ -25,7 +24,7 @@ machine_nozzle_cool_down_speed = 0.5
machine_nozzle_heat_up_speed = 2.5 machine_nozzle_heat_up_speed = 2.5
material_final_print_temperature = =material_print_temperature - 10 material_final_print_temperature = =material_print_temperature - 10
material_flow = 106 material_flow = 106
material_initial_print_temperature = =material_print_temperature material_initial_print_temperature = =material_print_temperature - 10
material_print_temperature = =default_material_print_temperature + 2 material_print_temperature = =default_material_print_temperature + 2
multiple_mesh_overlap = 0 multiple_mesh_overlap = 0
prime_tower_wipe_enabled = True prime_tower_wipe_enabled = True

View file

@ -13,7 +13,6 @@ weight = 0
[values] [values]
brim_width = 8.75 brim_width = 8.75
cool_min_temperature = =material_print_temperature - 10
gradual_infill_step_height = =5 * layer_height gradual_infill_step_height = =5 * layer_height
infill_overlap = 0 infill_overlap = 0
infill_pattern = ='zigzag' if infill_sparse_density > 80 else 'cross_3d' infill_pattern = ='zigzag' if infill_sparse_density > 80 else 'cross_3d'
@ -24,7 +23,7 @@ machine_nozzle_cool_down_speed = 0.5
machine_nozzle_heat_up_speed = 2.5 machine_nozzle_heat_up_speed = 2.5
material_final_print_temperature = =material_print_temperature - 10 material_final_print_temperature = =material_print_temperature - 10
material_flow = 106 material_flow = 106
material_initial_print_temperature = =material_print_temperature material_initial_print_temperature = =material_print_temperature - 10
multiple_mesh_overlap = 0 multiple_mesh_overlap = 0
prime_tower_wipe_enabled = True prime_tower_wipe_enabled = True
retraction_count_max = 15 retraction_count_max = 15

View file

@ -16,7 +16,6 @@ gradual_infill_step_height = =3 * layer_height
infill_pattern = ='zigzag' if infill_sparse_density > 80 else 'triangles' infill_pattern = ='zigzag' if infill_sparse_density > 80 else 'triangles'
machine_nozzle_cool_down_speed = 0.75 machine_nozzle_cool_down_speed = 0.75
machine_nozzle_heat_up_speed = 1.6 machine_nozzle_heat_up_speed = 1.6
material_initial_print_temperature = =max(-273.15, material_print_temperature - 10)
material_print_temperature = =default_material_print_temperature + 10 material_print_temperature = =default_material_print_temperature + 10
prime_tower_enable = True prime_tower_enable = True
speed_print = 45 speed_print = 45

View file

@ -17,7 +17,6 @@ infill_pattern = ='zigzag' if infill_sparse_density > 80 else 'triangles'
layer_height = 0.4 layer_height = 0.4
machine_nozzle_cool_down_speed = 0.75 machine_nozzle_cool_down_speed = 0.75
machine_nozzle_heat_up_speed = 1.6 machine_nozzle_heat_up_speed = 1.6
material_initial_print_temperature = =max(-273.15, material_print_temperature - 10)
material_print_temperature = =default_material_print_temperature + 15 material_print_temperature = =default_material_print_temperature + 15
prime_tower_enable = True prime_tower_enable = True
speed_infill = =math.ceil(speed_print * 35 / 45) speed_infill = =math.ceil(speed_print * 35 / 45)

View file

@ -17,7 +17,6 @@ infill_pattern = ='zigzag' if infill_sparse_density > 80 else 'triangles'
layer_height = 0.3 layer_height = 0.3
machine_nozzle_cool_down_speed = 0.75 machine_nozzle_cool_down_speed = 0.75
machine_nozzle_heat_up_speed = 1.6 machine_nozzle_heat_up_speed = 1.6
material_initial_print_temperature = =max(-273.15, material_print_temperature - 10)
material_print_temperature = =default_material_print_temperature + 10 material_print_temperature = =default_material_print_temperature + 10
prime_tower_enable = True prime_tower_enable = True
speed_print = 45 speed_print = 45

View file

@ -13,7 +13,6 @@ weight = -2
[values] [values]
brim_width = 25 brim_width = 25
cool_min_temperature = =material_print_temperature - 10
infill_pattern = ='zigzag' if infill_sparse_density > 80 else 'tetrahedral' infill_pattern = ='zigzag' if infill_sparse_density > 80 else 'tetrahedral'
material_print_temperature = =default_material_print_temperature - 2 material_print_temperature = =default_material_print_temperature - 2
multiple_mesh_overlap = 0.2 multiple_mesh_overlap = 0.2

View file

@ -13,7 +13,6 @@ weight = -4
[values] [values]
brim_width = 25 brim_width = 25
cool_min_temperature = =material_print_temperature - 10
infill_pattern = ='zigzag' if infill_sparse_density > 80 else 'tetrahedral' infill_pattern = ='zigzag' if infill_sparse_density > 80 else 'tetrahedral'
material_print_temperature = =default_material_print_temperature + 2 material_print_temperature = =default_material_print_temperature + 2
multiple_mesh_overlap = 0.2 multiple_mesh_overlap = 0.2

View file

@ -13,7 +13,6 @@ weight = -3
[values] [values]
brim_width = 25 brim_width = 25
cool_min_temperature = =material_print_temperature - 10
infill_pattern = ='zigzag' if infill_sparse_density > 80 else 'tetrahedral' infill_pattern = ='zigzag' if infill_sparse_density > 80 else 'tetrahedral'
layer_height = 0.3 layer_height = 0.3
multiple_mesh_overlap = 0.2 multiple_mesh_overlap = 0.2

View file

@ -16,7 +16,6 @@ gradual_infill_step_height = =3 * layer_height
infill_pattern = ='zigzag' if infill_sparse_density > 80 else 'cubic' infill_pattern = ='zigzag' if infill_sparse_density > 80 else 'cubic'
machine_nozzle_cool_down_speed = 0.75 machine_nozzle_cool_down_speed = 0.75
machine_nozzle_heat_up_speed = 1.6 machine_nozzle_heat_up_speed = 1.6
material_initial_print_temperature = =max(-273.15, material_print_temperature - 10)
material_print_temperature = =default_material_print_temperature + 0 material_print_temperature = =default_material_print_temperature + 0
prime_tower_enable = False prime_tower_enable = False
speed_print = 45 speed_print = 45

View file

@ -16,7 +16,6 @@ gradual_infill_step_height = =3 * layer_height
infill_pattern = ='zigzag' if infill_sparse_density > 80 else 'cubic' infill_pattern = ='zigzag' if infill_sparse_density > 80 else 'cubic'
machine_nozzle_cool_down_speed = 0.75 machine_nozzle_cool_down_speed = 0.75
machine_nozzle_heat_up_speed = 1.6 machine_nozzle_heat_up_speed = 1.6
material_initial_print_temperature = =max(-273.15, material_print_temperature - 10)
material_print_temperature = =default_material_print_temperature + 5 material_print_temperature = =default_material_print_temperature + 5
prime_tower_enable = False prime_tower_enable = False
speed_infill = =math.ceil(speed_print * 30 / 30) speed_infill = =math.ceil(speed_print * 30 / 30)

View file

@ -16,7 +16,6 @@ gradual_infill_step_height = =3 * layer_height
infill_pattern = ='zigzag' if infill_sparse_density > 80 else 'cubic' infill_pattern = ='zigzag' if infill_sparse_density > 80 else 'cubic'
machine_nozzle_cool_down_speed = 0.75 machine_nozzle_cool_down_speed = 0.75
machine_nozzle_heat_up_speed = 1.6 machine_nozzle_heat_up_speed = 1.6
material_initial_print_temperature = =max(-273.15, material_print_temperature - 10)
material_print_temperature = =default_material_print_temperature + 5 material_print_temperature = =default_material_print_temperature + 5
prime_tower_enable = False prime_tower_enable = False
speed_infill = =math.ceil(speed_print * 30 / 35) speed_infill = =math.ceil(speed_print * 30 / 35)

View file

@ -13,7 +13,6 @@ weight = -2
[values] [values]
brim_width = 8.75 brim_width = 8.75
cool_min_temperature = =material_print_temperature - 10
gradual_infill_step_height = =4 * layer_height gradual_infill_step_height = =4 * layer_height
infill_pattern = ='zigzag' if infill_sparse_density > 80 else 'cross_3d' infill_pattern = ='zigzag' if infill_sparse_density > 80 else 'cross_3d'
infill_sparse_density = 15 infill_sparse_density = 15
@ -21,7 +20,7 @@ machine_nozzle_cool_down_speed = 0.5
machine_nozzle_heat_up_speed = 2.5 machine_nozzle_heat_up_speed = 2.5
material_final_print_temperature = =material_print_temperature - 10 material_final_print_temperature = =material_print_temperature - 10
material_flow = 105 material_flow = 105
material_initial_print_temperature = =material_print_temperature material_initial_print_temperature = =material_print_temperature - 10
material_print_temperature = =default_material_print_temperature - 2 material_print_temperature = =default_material_print_temperature - 2
multiple_mesh_overlap = 0.2 multiple_mesh_overlap = 0.2
prime_tower_enable = True prime_tower_enable = True

View file

@ -13,7 +13,6 @@ weight = -4
[values] [values]
brim_width = 8.75 brim_width = 8.75
cool_min_temperature = =material_print_temperature - 10
gradual_infill_step_height = =4 * layer_height gradual_infill_step_height = =4 * layer_height
infill_pattern = ='zigzag' if infill_sparse_density > 80 else 'cross_3d' infill_pattern = ='zigzag' if infill_sparse_density > 80 else 'cross_3d'
infill_sparse_density = 15 infill_sparse_density = 15
@ -22,7 +21,7 @@ machine_nozzle_cool_down_speed = 0.5
machine_nozzle_heat_up_speed = 2.5 machine_nozzle_heat_up_speed = 2.5
material_final_print_temperature = =material_print_temperature - 10 material_final_print_temperature = =material_print_temperature - 10
material_flow = 105 material_flow = 105
material_initial_print_temperature = =material_print_temperature material_initial_print_temperature = =material_print_temperature - 10
material_print_temperature = =default_material_print_temperature + 2 material_print_temperature = =default_material_print_temperature + 2
multiple_mesh_overlap = 0.2 multiple_mesh_overlap = 0.2
prime_tower_enable = True prime_tower_enable = True

View file

@ -13,7 +13,6 @@ weight = -3
[values] [values]
brim_width = 8.75 brim_width = 8.75
cool_min_temperature = =material_print_temperature - 10
gradual_infill_step_height = =4 * layer_height gradual_infill_step_height = =4 * layer_height
infill_pattern = ='zigzag' if infill_sparse_density > 80 else 'cross_3d' infill_pattern = ='zigzag' if infill_sparse_density > 80 else 'cross_3d'
infill_sparse_density = 15 infill_sparse_density = 15
@ -22,7 +21,7 @@ machine_nozzle_cool_down_speed = 0.5
machine_nozzle_heat_up_speed = 2.5 machine_nozzle_heat_up_speed = 2.5
material_final_print_temperature = =material_print_temperature - 10 material_final_print_temperature = =material_print_temperature - 10
material_flow = 105 material_flow = 105
material_initial_print_temperature = =material_print_temperature material_initial_print_temperature = =material_print_temperature - 10
multiple_mesh_overlap = 0.2 multiple_mesh_overlap = 0.2
prime_tower_enable = True prime_tower_enable = True
prime_tower_flow = 100 prime_tower_flow = 100

View file

@ -17,7 +17,6 @@ infill_overlap = =0 if infill_sparse_density > 80 else 10
infill_pattern = ='zigzag' if infill_sparse_density > 80 else 'grid' infill_pattern = ='zigzag' if infill_sparse_density > 80 else 'grid'
machine_nozzle_cool_down_speed = 0.9 machine_nozzle_cool_down_speed = 0.9
machine_nozzle_heat_up_speed = 1.4 machine_nozzle_heat_up_speed = 1.4
material_initial_print_temperature = =material_print_temperature - 10
material_print_temperature = 190 material_print_temperature = 190
retraction_hop = 0.2 retraction_hop = 0.2
skin_overlap = 5 skin_overlap = 5

View file

@ -14,12 +14,11 @@ weight = 0
[values] [values]
brim_width = 10 brim_width = 10
cool_min_temperature = =material_print_temperature - 10
infill_pattern = ='zigzag' if infill_sparse_density > 80 else 'tetrahedral' infill_pattern = ='zigzag' if infill_sparse_density > 80 else 'tetrahedral'
infill_wipe_dist = 0.1 infill_wipe_dist = 0.1
machine_min_cool_heat_time_window = 15 machine_min_cool_heat_time_window = 15
material_final_print_temperature = =material_print_temperature - 10 material_final_print_temperature = =material_print_temperature - 10
material_initial_print_temperature = =material_print_temperature - 5 material_initial_print_temperature = =material_print_temperature - 10
material_print_temperature = =default_material_print_temperature - 15 material_print_temperature = =default_material_print_temperature - 15
multiple_mesh_overlap = 0 multiple_mesh_overlap = 0
prime_tower_enable = False prime_tower_enable = False

View file

@ -17,7 +17,6 @@ infill_overlap = =0 if infill_sparse_density > 80 else 10
infill_pattern = ='zigzag' if infill_sparse_density > 80 else 'grid' infill_pattern = ='zigzag' if infill_sparse_density > 80 else 'grid'
machine_nozzle_cool_down_speed = 0.9 machine_nozzle_cool_down_speed = 0.9
machine_nozzle_heat_up_speed = 1.4 machine_nozzle_heat_up_speed = 1.4
material_initial_print_temperature = =material_print_temperature - 10
material_print_temperature = =default_material_print_temperature - 15 material_print_temperature = =default_material_print_temperature - 15
skin_overlap = 5 skin_overlap = 5
speed_print = 30 speed_print = 30

View file

@ -15,7 +15,6 @@ weight = 1
machine_nozzle_cool_down_speed = 0.8 machine_nozzle_cool_down_speed = 0.8
machine_nozzle_heat_up_speed = 1.5 machine_nozzle_heat_up_speed = 1.5
material_final_print_temperature = =material_print_temperature - 20 material_final_print_temperature = =material_print_temperature - 20
material_initial_print_temperature = =material_print_temperature - 15
material_print_temperature = =default_material_print_temperature + 5 material_print_temperature = =default_material_print_temperature + 5
prime_tower_enable = False prime_tower_enable = False
raft_airgap = 0.15 raft_airgap = 0.15

View file

@ -15,7 +15,6 @@ weight = -1
machine_nozzle_cool_down_speed = 0.85 machine_nozzle_cool_down_speed = 0.85
machine_nozzle_heat_up_speed = 1.5 machine_nozzle_heat_up_speed = 1.5
material_final_print_temperature = =material_print_temperature - 20 material_final_print_temperature = =material_print_temperature - 20
material_initial_print_temperature = =material_print_temperature - 15
material_print_temperature = =default_material_print_temperature + 15 material_print_temperature = =default_material_print_temperature + 15
prime_tower_enable = False prime_tower_enable = False
raft_airgap = 0.15 raft_airgap = 0.15

View file

@ -15,7 +15,6 @@ weight = 0
machine_nozzle_cool_down_speed = 0.85 machine_nozzle_cool_down_speed = 0.85
machine_nozzle_heat_up_speed = 1.5 machine_nozzle_heat_up_speed = 1.5
material_final_print_temperature = =material_print_temperature - 20 material_final_print_temperature = =material_print_temperature - 20
material_initial_print_temperature = =material_print_temperature - 15
material_print_temperature = =default_material_print_temperature + 10 material_print_temperature = =default_material_print_temperature + 10
prime_tower_enable = False prime_tower_enable = False
raft_airgap = 0.15 raft_airgap = 0.15

View file

@ -15,7 +15,6 @@ weight = -2
machine_nozzle_cool_down_speed = 0.85 machine_nozzle_cool_down_speed = 0.85
machine_nozzle_heat_up_speed = 1.5 machine_nozzle_heat_up_speed = 1.5
material_final_print_temperature = =material_print_temperature - 20 material_final_print_temperature = =material_print_temperature - 20
material_initial_print_temperature = =material_print_temperature - 15
material_print_temperature = =default_material_print_temperature + 20 material_print_temperature = =default_material_print_temperature + 20
prime_tower_enable = False prime_tower_enable = False
raft_airgap = 0.15 raft_airgap = 0.15

View file

@ -17,7 +17,6 @@ infill_wipe_dist = 0
machine_min_cool_heat_time_window = 15 machine_min_cool_heat_time_window = 15
machine_nozzle_cool_down_speed = 0.85 machine_nozzle_cool_down_speed = 0.85
machine_nozzle_heat_up_speed = 1.5 machine_nozzle_heat_up_speed = 1.5
material_initial_print_temperature = =material_print_temperature - 5
material_print_temperature = =default_material_print_temperature + 2 material_print_temperature = =default_material_print_temperature + 2
multiple_mesh_overlap = 0 multiple_mesh_overlap = 0
prime_tower_enable = True prime_tower_enable = True

View file

@ -15,7 +15,6 @@ weight = -1
infill_overlap = 0 infill_overlap = 0
infill_wipe_dist = 0 infill_wipe_dist = 0
machine_min_cool_heat_time_window = 15 machine_min_cool_heat_time_window = 15
material_initial_print_temperature = =material_print_temperature - 5
material_print_temperature = =default_material_print_temperature + 10 material_print_temperature = =default_material_print_temperature + 10
multiple_mesh_overlap = 0 multiple_mesh_overlap = 0
prime_tower_enable = True prime_tower_enable = True

View file

@ -17,7 +17,6 @@ infill_wipe_dist = 0
machine_min_cool_heat_time_window = 15 machine_min_cool_heat_time_window = 15
machine_nozzle_cool_down_speed = 0.85 machine_nozzle_cool_down_speed = 0.85
machine_nozzle_heat_up_speed = 1.5 machine_nozzle_heat_up_speed = 1.5
material_initial_print_temperature = =material_print_temperature - 5
material_print_temperature = =default_material_print_temperature + 5 material_print_temperature = =default_material_print_temperature + 5
multiple_mesh_overlap = 0 multiple_mesh_overlap = 0
prime_tower_enable = True prime_tower_enable = True

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