mirror of
https://github.com/Ultimaker/Cura.git
synced 2025-07-07 06:57:28 -06:00
Merge branch '5.3'
This commit is contained in:
commit
5970524b3a
199 changed files with 390 additions and 504 deletions
4
.github/workflows/conan-package-create.yml
vendored
4
.github/workflows/conan-package-create.yml
vendored
|
@ -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
|
||||||
|
|
113
.github/workflows/conan-package.yml
vendored
113
.github/workflows/conan-package.yml
vendored
|
@ -48,6 +48,15 @@ on:
|
||||||
- '[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:
|
||||||
|
@ -58,52 +67,82 @@ jobs:
|
||||||
with:
|
with:
|
||||||
project_name: cura
|
project_name: cura
|
||||||
|
|
||||||
conan-package-export:
|
|
||||||
permissions:
|
|
||||||
contents: read
|
|
||||||
|
|
||||||
needs: [ conan-recipe-version ]
|
|
||||||
uses: ultimaker/cura/.github/workflows/conan-recipe-export.yml@main
|
|
||||||
with:
|
|
||||||
recipe_id_full: ${{ needs.conan-recipe-version.outputs.recipe_id_full }}
|
|
||||||
recipe_id_latest: ${{ needs.conan-recipe-version.outputs.recipe_id_latest }}
|
|
||||||
runs_on: 'ubuntu-20.04'
|
|
||||||
python_version: '3.10.x'
|
|
||||||
conan_logging_level: 'info'
|
|
||||||
secrets: inherit
|
|
||||||
|
|
||||||
conan-package-create-linux:
|
conan-package-create-linux:
|
||||||
permissions:
|
needs: [ conan-recipe-version ]
|
||||||
contents: read
|
runs-on: 'ubuntu-latest'
|
||||||
|
|
||||||
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) }}
|
steps:
|
||||||
needs: [ conan-recipe-version, conan-package-export ]
|
- name: Checkout
|
||||||
|
uses: actions/checkout@v3
|
||||||
|
|
||||||
uses: ultimaker/cura/.github/workflows/conan-package-create.yml@main
|
- name: Setup Python and pip
|
||||||
|
uses: actions/setup-python@v4
|
||||||
with:
|
with:
|
||||||
project_name: ${{ needs.conan-recipe-version.outputs.project_name }}
|
python-version: '3.10.x'
|
||||||
recipe_id_full: ${{ needs.conan-recipe-version.outputs.recipe_id_full }}
|
cache: 'pip'
|
||||||
build_id: 1
|
cache-dependency-path: .github/workflows/requirements-conan-package.txt
|
||||||
runs_on: 'ubuntu-20.04'
|
|
||||||
python_version: '3.10.x'
|
|
||||||
conan_logging_level: 'info'
|
|
||||||
secrets: inherit
|
|
||||||
|
|
||||||
notify-export:
|
- name: Install Python requirements for runner
|
||||||
if: ${{ always() }}
|
run: pip install -r https://raw.githubusercontent.com/Ultimaker/Cura/main/.github/workflows/requirements-conan-package.txt
|
||||||
needs: [ conan-recipe-version, conan-package-export ]
|
# Note the runner requirements are always installed from the main branch in the Ultimaker/Cura repo
|
||||||
|
|
||||||
uses: ultimaker/cura/.github/workflows/notify.yml@main
|
- name: Use Conan download cache (Bash)
|
||||||
|
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:
|
||||||
success: ${{ contains(join(needs.*.result, ','), 'success') }}
|
path: |
|
||||||
success_title: "New Conan recipe exported in ${{ github.repository }}"
|
$HOME/.conan/data
|
||||||
success_body: "Exported ${{ needs.conan-recipe-version.outputs.recipe_id_full }}"
|
$HOME/.conan/conan_download_cache
|
||||||
failure_title: "Failed to export Conan Export in ${{ github.repository }}"
|
key: conan-ubuntu-${{ runner.arch }}-create-cache
|
||||||
failure_body: "Failed to exported ${{ needs.conan-recipe-version.outputs.recipe_id_full }}"
|
|
||||||
secrets: inherit
|
# 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
|
||||||
|
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
|
||||||
|
|
||||||
|
- name: Install GCC-12
|
||||||
|
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
|
||||||
|
|
||||||
|
- name: Create the default Conan profile
|
||||||
|
run: conan profile new default --detect
|
||||||
|
|
||||||
|
- name: Get Conan configuration
|
||||||
|
run: conan config install https://github.com/Ultimaker/conan-config.git
|
||||||
|
|
||||||
|
- name: Create the Packages using lockfile
|
||||||
|
run: conan create . ${{ needs.conan-recipe-version.outputs.recipe_id_full }} --build=missing --update -o ${{ needs.conan-recipe-version.outputs.project_name }}:devtools=True
|
||||||
|
|
||||||
|
- name: Remove the latest alias
|
||||||
|
if: ${{ needs.conan-recipe-version.outputs.recipe_id_latest != '' }}
|
||||||
|
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
|
||||||
|
|
||||||
|
- name: Create the latest alias
|
||||||
|
if: ${{ needs.conan-recipe-version.outputs.recipe_id_latest != '' && always() }}
|
||||||
|
run: conan alias ${{ needs.conan-recipe-version.outputs.recipe_id_latest }} ${{ needs.conan-recipe-version.outputs.recipe_id_full }}
|
||||||
|
|
||||||
|
- name: Upload the Package(s)
|
||||||
|
if: always()
|
||||||
|
run: |
|
||||||
|
conan upload "*" -r cura --all -c
|
||||||
|
conan upload "*" -r cura-ce -c
|
||||||
|
|
||||||
notify-create:
|
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')) || (github.event_name == 'workflow_dispatch' && inputs.create_binaries_linux)) }}
|
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 ]
|
needs: [ conan-recipe-version, conan-package-create-linux ]
|
||||||
|
|
||||||
uses: ultimaker/cura/.github/workflows/notify.yml@main
|
uses: ultimaker/cura/.github/workflows/notify.yml@main
|
||||||
|
|
8
.github/workflows/cura-installer.yml
vendored
8
.github/workflows/cura-installer.yml
vendored
|
@ -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
|
||||||
|
|
4
.github/workflows/unit-test.yml
vendored
4
.github/workflows/unit-test.yml
vendored
|
@ -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
|
||||||
|
|
|
@ -1,18 +1,6 @@
|
||||||
---
|
|
||||||
# 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:
|
||||||
|
runinfo:
|
||||||
|
entrypoint: "cura_app.py"
|
||||||
datas:
|
datas:
|
||||||
cura_plugins:
|
cura_plugins:
|
||||||
package: "cura"
|
package: "cura"
|
||||||
|
@ -27,11 +15,6 @@ pyinstaller:
|
||||||
src: "resources"
|
src: "resources"
|
||||||
dst: "share/cura/resources"
|
dst: "share/cura/resources"
|
||||||
internal: true
|
internal: true
|
||||||
cura_private_data_plugins:
|
|
||||||
package: "cura_private_data"
|
|
||||||
src: "plugins"
|
|
||||||
dst: "share/cura/plugins"
|
|
||||||
internal: true
|
|
||||||
uranium_plugins:
|
uranium_plugins:
|
||||||
package: "uranium"
|
package: "uranium"
|
||||||
src: "plugins"
|
src: "plugins"
|
||||||
|
|
127
conanfile.py
127
conanfile.py
|
@ -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"))
|
||||||
|
|
|
@ -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()
|
||||||
|
|
||||||
|
|
|
@ -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" },
|
||||||
|
|
|
@ -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" },
|
||||||
|
|
|
@ -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" },
|
||||||
|
|
|
@ -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" },
|
||||||
|
|
|
@ -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'" },
|
||||||
|
|
|
@ -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" },
|
||||||
|
|
|
@ -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" },
|
||||||
|
|
|
@ -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'" },
|
||||||
|
|
|
@ -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" },
|
||||||
|
|
|
@ -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 },
|
||||||
|
|
|
@ -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" },
|
||||||
|
|
|
@ -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 },
|
||||||
|
|
|
@ -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" },
|
||||||
|
|
|
@ -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",
|
||||||
|
|
|
@ -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" },
|
||||||
|
|
|
@ -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" },
|
||||||
|
|
|
@ -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'" },
|
||||||
|
|
|
@ -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" },
|
||||||
|
|
|
@ -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" },
|
||||||
|
|
|
@ -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" },
|
||||||
|
|
|
@ -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" },
|
||||||
|
|
|
@ -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" },
|
||||||
|
|
|
@ -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" },
|
||||||
|
|
|
@ -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 },
|
||||||
|
|
|
@ -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 },
|
||||||
|
|
|
@ -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" },
|
||||||
|
|
|
@ -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" },
|
||||||
|
|
|
@ -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" },
|
||||||
|
|
|
@ -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" },
|
||||||
|
|
|
@ -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 },
|
||||||
|
|
|
@ -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":
|
||||||
|
|
|
@ -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" },
|
||||||
|
|
|
@ -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" },
|
||||||
|
|
|
@ -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" },
|
||||||
|
|
|
@ -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))" },
|
||||||
|
|
|
@ -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)" },
|
||||||
|
|
|
@ -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" },
|
||||||
|
|
|
@ -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" },
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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)
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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)
|
||||||
|
|
|
@ -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)
|
||||||
|
|
|
@ -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)
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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)
|
||||||
|
|
|
@ -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)
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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)
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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)
|
||||||
|
|
|
@ -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)
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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
Loading…
Add table
Add a link
Reference in a new issue