mirror of
https://github.com/OrcaSlicer/OrcaSlicer.git
synced 2026-09-16 21:42:43 +00:00
Compare commits
171
Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
2b2c710626 | ||
|
|
2b1a7e38df | ||
|
|
b4052ec99f | ||
|
|
14cf7861e0 | ||
|
|
18c08862a8 | ||
|
|
62ef0fa4f8 | ||
|
|
a8a45439db | ||
|
|
5cd6661280 | ||
|
|
33aec258da | ||
|
|
76aba24ddf | ||
|
|
cb5b489e90 | ||
|
|
19a085206c | ||
|
|
708212a306 | ||
|
|
3b302b4666 | ||
|
|
4a7311bf01 | ||
|
|
f2a11928f6 | ||
|
|
4ed56954e8 | ||
|
|
6e33f3f5dd | ||
|
|
5092831007 | ||
|
|
9cca3093ee | ||
|
|
6873267a9c | ||
|
|
8e330f951a | ||
|
|
c96945490b | ||
|
|
e5d4ad2aa7 | ||
|
|
4fab8d0b39 | ||
|
|
e341a9b84e | ||
|
|
a7bc054974 | ||
|
|
30351d40e1 | ||
|
|
d289478618 | ||
|
|
306e379a2a | ||
|
|
3d11b60e71 | ||
|
|
e8597fe942 | ||
|
|
99ee8893cd | ||
|
|
ee3e014f02 | ||
|
|
3d270c2aa7 | ||
|
|
5ea6ccc56a | ||
|
|
bcfb09481c | ||
|
|
c80f1ab312 | ||
|
|
131b61b726 | ||
|
|
d367bcef92 | ||
|
|
79c93733d3 | ||
|
|
7cc50d750c | ||
|
|
62d8f22f52 | ||
|
|
60e9ee26c9 | ||
|
|
854dae8dd2 | ||
|
|
ec4e9717d3 | ||
|
|
88726d76e8 | ||
|
|
39b087d6ea | ||
|
|
8b2e28817d | ||
|
|
ac9b5433b7 | ||
|
|
a453cb1eba | ||
|
|
1bd3404c03 | ||
|
|
c1a90fc451 | ||
|
|
7fc86db5f0 | ||
|
|
6fd2de76e6 | ||
|
|
f8fe5a07cd | ||
|
|
049612022a | ||
|
|
10810908a9 | ||
|
|
0d92180325 | ||
|
|
88d5e9e442 | ||
|
|
c51d19f6b2 | ||
|
|
849e6493f8 | ||
|
|
b1905ebc20 | ||
|
|
55b4dca9bc | ||
|
|
386364f84b | ||
|
|
725df64108 | ||
|
|
c5bf238859 | ||
|
|
f563df04f6 | ||
|
|
613dad92a1 | ||
|
|
a83cd8aa29 | ||
|
|
02e313a115 | ||
|
|
04554abae6 | ||
|
|
0342e06d87 | ||
|
|
79fd847ce3 | ||
|
|
8f6802fff8 | ||
|
|
b61ba98183 | ||
|
|
175075fd08 | ||
|
|
5428a0715d | ||
|
|
75770321dd | ||
|
|
c950c3fb6b | ||
|
|
2ca843a38e | ||
|
|
0ef7c6d581 | ||
|
|
34b0d36cda | ||
|
|
d619c7e19c | ||
|
|
31b44cb731 | ||
|
|
ddbee84e68 | ||
|
|
bf6cce1f40 | ||
|
|
8bdf0df00a | ||
|
|
d6c9187c71 | ||
|
|
0cdfb88357 | ||
|
|
14cec7239b | ||
|
|
86c6a1a66f | ||
|
|
07f08dfe40 | ||
|
|
a4fb5af9e1 | ||
|
|
8593d66a39 | ||
|
|
3fc3b8a8ae | ||
|
|
695a1f897a | ||
|
|
2d69f6e17c | ||
|
|
340ce575e2 | ||
|
|
d795900fcf | ||
|
|
9b1fb2217a | ||
|
|
ef6f65eacc | ||
|
|
0add523e1b | ||
|
|
375036f330 | ||
|
|
fbbeb1fab0 | ||
|
|
0bca3fd2e5 | ||
|
|
85fd613cf7 | ||
|
|
0da24cd38b | ||
|
|
d7b75540d0 | ||
|
|
b7bda9912b | ||
|
|
4f3a608009 | ||
|
|
f682ab5cd3 | ||
|
|
2bcb775b90 | ||
|
|
e29a82c672 | ||
|
|
5b243eec92 | ||
|
|
fee6be98b2 | ||
|
|
9405ac5976 | ||
|
|
6ed2437848 | ||
|
|
da3fee2dfa | ||
|
|
c0d6ae8540 | ||
|
|
573e1c6544 | ||
|
|
20be78a96e | ||
|
|
02d45c3258 | ||
|
|
f9888c7d7a | ||
|
|
0bda684dd7 | ||
|
|
8a578cdf00 | ||
|
|
6b256db012 | ||
|
|
2dc4900292 | ||
|
|
0f75d6bc4e | ||
|
|
e913621369 | ||
|
|
48b6db93b8 | ||
|
|
72cafcbe06 | ||
|
|
a9bae54f20 | ||
|
|
218881c6f6 | ||
|
|
cd5fb68d38 | ||
|
|
f87a46ec6e | ||
|
|
8dc91d8b1d | ||
|
|
da8b11b8ab | ||
|
|
c79970bedb | ||
|
|
7252f6acb7 | ||
|
|
6a2d690f45 | ||
|
|
8fa6a4602b | ||
|
|
0f29437135 | ||
|
|
75cc0de071 | ||
|
|
bc6d0ef0fb | ||
|
|
c17ae25bbc | ||
|
|
e981a517cd | ||
|
|
0703728e56 | ||
|
|
1e9ee0c120 | ||
|
|
e9a579b604 | ||
|
|
783acd932a | ||
|
|
c8a1bf3a99 | ||
|
|
2facaac9e8 | ||
|
|
9bbac19de4 | ||
|
|
ea5c6776b3 | ||
|
|
98f4d34dcb | ||
|
|
501aff7e53 | ||
|
|
c808653565 | ||
|
|
a7441c7f48 | ||
|
|
3bc13e5cfd | ||
|
|
141749a6f2 | ||
|
|
4634a5dfd7 | ||
|
|
372139c770 | ||
|
|
44eebdb8ad | ||
|
|
c7aa4ca3ef | ||
|
|
b297f68921 | ||
|
|
7ff6bc42b1 | ||
|
|
719af2d81d | ||
|
|
cb13a22e57 | ||
|
|
ed6ea086a2 | ||
|
|
08aa277974 |
@@ -14,9 +14,6 @@ on:
|
||||
- 'localization/**'
|
||||
- 'resources/**'
|
||||
- ".github/workflows/build_*.yml"
|
||||
- ".github/workflows/unit_tests*.yml"
|
||||
- 'build_win.bat'
|
||||
- 'scripts/test_build_win.ps1'
|
||||
- 'scripts/build_preset_cache.*'
|
||||
- 'scripts/flatpak/**'
|
||||
- 'scripts/msix/**'
|
||||
@@ -33,8 +30,9 @@ on:
|
||||
- '**/CMakeLists.txt'
|
||||
- 'version.inc'
|
||||
- ".github/workflows/build_*.yml"
|
||||
- ".github/workflows/unit_tests*.yml"
|
||||
- 'build_linux.sh'
|
||||
- 'build_release_vs.bat'
|
||||
- 'build_release_vs2022.bat'
|
||||
- 'build_win.bat'
|
||||
- 'scripts/test_build_win.ps1'
|
||||
- 'build_release_macos.sh'
|
||||
@@ -209,7 +207,7 @@ jobs:
|
||||
./validator-bin/OrcaSlicer_profile_validator -p "${{ github.workspace }}/resources/profiles" -s -l 2
|
||||
publish_test_results:
|
||||
name: Publish Test Results
|
||||
needs: [unit_tests_linux_x86_64, unit_tests_linux_aarch64, unit_tests_windows_x64, unit_tests_windows_arm64, unit_tests_macos_arm64, unit_tests_flatpak_x86_64, unit_tests_flatpak_aarch64]
|
||||
needs: [unit_tests_linux_x86_64, unit_tests_linux_aarch64, unit_tests_windows_x64, unit_tests_windows_arm64, unit_tests_macos_arm64]
|
||||
if: ${{ !cancelled() }}
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
@@ -326,16 +324,9 @@ jobs:
|
||||
sed -i '/^build-options:/a\ no-debuginfo: true\n strip: true' \
|
||||
scripts/flatpak/com.orcaslicer.OrcaSlicer.yml
|
||||
shell: bash
|
||||
# flatpak-builder reuses a module from its cache when the definition and
|
||||
# sources are unchanged, so a re-run of the same commit would skip the
|
||||
# OrcaSlicer module and ship no test asset. A per-run value in that module's
|
||||
# env keeps it rebuilding; orca_deps stays cached, and the compiler cache
|
||||
# still serves the rebuild.
|
||||
- name: Inject commit hash and flatpak-builder cache buster into Flatpak manifest
|
||||
env:
|
||||
flatpak_builder_cache_buster: ${{ github.run_id }}-${{ github.run_attempt }}
|
||||
- name: Inject git commit hash into Flatpak manifest
|
||||
run: |
|
||||
sed -i "/name: OrcaSlicer/{n;s|buildsystem: simple|buildsystem: simple\n build-options:\n env:\n flatpak_builder_cache_buster: \"$flatpak_builder_cache_buster\"\n git_commit_hash: \"$git_commit_hash\"|}" \
|
||||
sed -i "/name: OrcaSlicer/{n;s|buildsystem: simple|buildsystem: simple\n build-options:\n env:\n git_commit_hash: \"$git_commit_hash\"|}" \
|
||||
scripts/flatpak/com.orcaslicer.OrcaSlicer.yml
|
||||
shell: bash
|
||||
# flatpak-builder's --ccache only wraps cc and gcc, and the manifest builds
|
||||
@@ -381,10 +372,6 @@ jobs:
|
||||
save-cache: false
|
||||
arch: ${{ matrix.variant.arch }}
|
||||
upload-artifact: false
|
||||
# run-tests fires the module's build-only test-commands; keep-build-dirs
|
||||
# retains the binaries for the packaging step below.
|
||||
run-tests: true
|
||||
keep-build-dirs: true
|
||||
# The build has just touched everything it can use, so an object untouched
|
||||
# for a week is dead, usually orphaned by a flag change.
|
||||
- name: Compiler cache statistics
|
||||
@@ -438,46 +425,3 @@ jobs:
|
||||
asset_name: OrcaSlicer-Linux-flatpak_nightly${{ env.nightly_suffix }}_${{ matrix.variant.arch }}.flatpak
|
||||
asset_content_type: application/octet-stream
|
||||
max_releases: 1 # optional, if there are more releases than this matching the asset_name, the oldest ones are going to be deleted
|
||||
# The asset is /app (the exes link it at runtime) plus the build tree
|
||||
# slimmed to what ctest needs.
|
||||
- name: Package flatpak test asset
|
||||
shell: bash
|
||||
run: |
|
||||
d=$(ls -d .flatpak-builder/build/OrcaSlicer-* | tail -1)
|
||||
find "$d/build_flatpak" -mindepth 1 -maxdepth 1 ! -name tests -exec rm -rf {} +
|
||||
# Strip debug info (the SDK builds with -g, only the app gets stripped);
|
||||
# the bounds checks are compiled in, so a stripped exe still catches them.
|
||||
find "$d/build_flatpak/tests" -type f -perm -u+x -exec strip --strip-unneeded {} + 2>/dev/null || true
|
||||
# At runtime the tests read tests/ (TEST_DATA_DIR), scripts/, and under
|
||||
# resources/ the shipped profiles (PROFILES_DIR) and the printers/ maps.
|
||||
find "$d" -mindepth 1 -maxdepth 1 -type d \
|
||||
! -name tests ! -name build_flatpak ! -name scripts ! -name resources -exec rm -rf {} +
|
||||
find "$d/resources" -mindepth 1 -maxdepth 1 ! -name profiles ! -name printers -exec rm -rf {} +
|
||||
tar -cf flatpak-test-asset.tar flatpak_app "$d"
|
||||
- name: Upload flatpak test asset
|
||||
uses: actions/upload-artifact@v7
|
||||
with:
|
||||
name: ${{ github.sha }}-flatpak-tests-${{ matrix.variant.arch }}
|
||||
path: flatpak-test-asset.tar
|
||||
retention-days: 1
|
||||
# keep-build-dirs would otherwise land in the flatpak-builder cache saved post-job.
|
||||
- name: Drop the kept build dirs before the flatpak-builder cache saves
|
||||
if: always()
|
||||
shell: bash
|
||||
run: rm -rf .flatpak-builder/build
|
||||
unit_tests_flatpak_x86_64:
|
||||
name: Flatpak x86_64
|
||||
needs: flatpak
|
||||
if: ${{ !cancelled() && success() }}
|
||||
uses: ./.github/workflows/unit_tests_flatpak.yml
|
||||
with:
|
||||
os: ubuntu-24.04
|
||||
artifact: ${{ github.sha }}-flatpak-tests-x86_64
|
||||
unit_tests_flatpak_aarch64:
|
||||
name: Flatpak aarch64
|
||||
needs: flatpak
|
||||
if: ${{ !cancelled() && success() }}
|
||||
uses: ./.github/workflows/unit_tests_flatpak.yml
|
||||
with:
|
||||
os: ubuntu-24.04-arm
|
||||
artifact: ${{ github.sha }}-flatpak-tests-aarch64
|
||||
|
||||
@@ -41,8 +41,7 @@ jobs:
|
||||
# restores one it cannot use. Linux amd64 passes no arch deliberately, so
|
||||
# 'linux-clang' keeps the cache it already has.
|
||||
cache-os: ${{ runner.os == 'macOS' && format('macos-{0}', inputs.arch) || (runner.os == 'Windows' && format('windows-{0}-{1}', inputs.arch, inputs.compiler) || format('linux-clang{0}', inputs.arch && format('-{0}', inputs.arch) || '')) }}
|
||||
# The Windows ARM64 deps build in build-arm64, all others under build;
|
||||
# build_deps.yml and build_orca.yml pass the Windows directory to build_win.bat.
|
||||
# ARM64 builds use the build-arm64 tree (see build_release_vs.bat); x64/other use build.
|
||||
dep-folder-name: ${{ runner.os == 'macOS' && format('/{0}', inputs.arch) || (runner.os == 'Windows' && inputs.arch == 'arm64') && '-arm64/OrcaSlicer_dep' || '/OrcaSlicer_dep' }}
|
||||
output-cmd: ${{ runner.os == 'Windows' && '$env:GITHUB_OUTPUT' || '"$GITHUB_OUTPUT"'}}
|
||||
run: |
|
||||
|
||||
@@ -138,11 +138,25 @@ jobs:
|
||||
if (-not "${{ vars.SELF_HOSTED }}") {
|
||||
choco install strawberryperl
|
||||
}
|
||||
# cache-path is the install directory inside the deps build directory.
|
||||
$deps = (Split-Path "${{ inputs.cache-path }}").Replace('\', '/')
|
||||
# -l compiles with Visual Studio's clang-cl and -x builds with Ninja; --msvc --msbuild is cl under the Visual Studio generator.
|
||||
$flags = if ("${{ inputs.compiler }}" -eq "clang") { "-l", "-x" } else { "--msvc", "--msbuild" }
|
||||
.\build_win.bat -d --arch ${{ inputs.arch }} --deps-dir $deps @flags
|
||||
$arch = "${{ inputs.arch }}"
|
||||
# -l selects clang-cl and -x Ninja; together they build the deps with clang.
|
||||
$clang = "${{ inputs.compiler }}" -eq "clang"
|
||||
$flags = if ($clang) { "-l", "-x" } else { @() }
|
||||
if ($clang) {
|
||||
# OpenSSL builds with nmake, which needs a VC environment.
|
||||
$vswhere = "${env:ProgramFiles(x86)}\Microsoft Visual Studio\Installer\vswhere.exe"
|
||||
$vs = & $vswhere -latest -property installationPath
|
||||
$devArch = if ($arch -eq "arm64") { "arm64" } else { "amd64" }
|
||||
Import-Module "$vs\Common7\Tools\Microsoft.VisualStudio.DevShell.dll"
|
||||
Enter-VsDevShell -VsInstallPath $vs -SkipAutomaticLocation -DevCmdArguments "-arch=$devArch"
|
||||
}
|
||||
if ($arch -eq "arm64") {
|
||||
.\build_release_vs.bat deps arm64 @flags
|
||||
.\build_release_vs.bat pack arm64
|
||||
} else {
|
||||
.\build_release_vs.bat deps @flags
|
||||
.\build_release_vs.bat pack
|
||||
}
|
||||
shell: pwsh
|
||||
|
||||
- name: Build on Mac ${{ inputs.arch }}
|
||||
|
||||
@@ -85,15 +85,6 @@ jobs:
|
||||
shell: bash
|
||||
run: |
|
||||
leg="${{ runner.os }}-${{ inputs.arch || 'amd64' }}${{ runner.os == 'Windows' && format('-{0}', inputs.compiler) || '' }}"
|
||||
# clang-cl refuses a precompiled header from another cl.exe build and ccache
|
||||
# does not hash that build, so each one gets its own cache. The build number
|
||||
# is read from cl.exe itself; the toolset directory keeps its name across patches.
|
||||
if [ "${{ runner.os }}" = Windows ]; then
|
||||
vswhere='/c/Program Files (x86)/Microsoft Visual Studio/Installer/vswhere.exe'
|
||||
toolset=$(tr -d '\r\n' < "$("$vswhere" -latest -products '*' -find 'VC\Auxiliary\Build\Microsoft.VCToolsVersion.default.txt' | tr -d '\r')")
|
||||
cl=$("$vswhere" -latest -products '*' -find 'VC\Tools\MSVC\'"$toolset"'\**\cl.exe' | tr -d '\r' | head -1)
|
||||
leg="$leg-vc$("$cl" 2>&1 | grep -o -E 'Version [0-9.]+' | cut -d' ' -f2)"
|
||||
fi
|
||||
echo "CCACHE_LEG=$leg" >> "$GITHUB_ENV"
|
||||
echo "CCACHE_ENTRY=ccache-$leg-${{ github.run_id }}-${{ github.run_attempt }}" >> "$GITHUB_ENV"
|
||||
|
||||
@@ -459,13 +450,21 @@ jobs:
|
||||
# env:
|
||||
# WindowsSdkDir: 'C:\Program Files (x86)\Windows Kits\10\'
|
||||
# WindowsSDKVersion: '10.0.26100.0\'
|
||||
# --tests builds the unit tests too; the unit_tests_windows_* jobs run them.
|
||||
# "tests" builds the unit tests too; the unit_tests_windows_* jobs run them.
|
||||
run: |
|
||||
# cache-path is the install directory inside the deps build directory.
|
||||
$deps = (Split-Path "${{ inputs.cache-path }}").Replace('\', '/')
|
||||
# -l compiles with Visual Studio's clang-cl and -x builds with Ninja; --msvc --msbuild is cl under the Visual Studio generator.
|
||||
$flags = if ("${{ inputs.compiler }}" -eq "clang") { "-l", "-x" } else { "--msvc", "--msbuild" }
|
||||
.\build_win.bat -s --tests -i --arch ${{ inputs.arch }} --build-dir $env:BUILD_DIR --deps-dir $deps @flags
|
||||
$arch = "${{ inputs.arch }}"
|
||||
# -l selects clang-cl and -x Ninja; together they build the slicer with clang.
|
||||
$clang = "${{ inputs.compiler }}" -eq "clang"
|
||||
$flags = if ($clang) { "-l", "-x" } else { @() }
|
||||
if ($clang) {
|
||||
# Build against the same VC toolchain and SDK as the dependencies.
|
||||
$vswhere = "${env:ProgramFiles(x86)}\Microsoft Visual Studio\Installer\vswhere.exe"
|
||||
$vs = & $vswhere -latest -property installationPath
|
||||
$devArch = if ($arch -eq "arm64") { "arm64" } else { "amd64" }
|
||||
Import-Module "$vs\Common7\Tools\Microsoft.VisualStudio.DevShell.dll"
|
||||
Enter-VsDevShell -VsInstallPath $vs -SkipAutomaticLocation -DevCmdArguments "-arch=$devArch"
|
||||
}
|
||||
if ($arch -eq "arm64") { .\build_release_vs.bat slicer arm64 @flags tests } else { .\build_release_vs.bat slicer @flags tests }
|
||||
shell: pwsh
|
||||
|
||||
- name: Build system preset cache (Windows)
|
||||
|
||||
@@ -9,9 +9,8 @@ on:
|
||||
- release/*
|
||||
paths:
|
||||
- 'resources/profiles/**'
|
||||
# orca_profile_tool.py also validates resources/printers/bambu_filament_ids.json, and
|
||||
# both it and its tests live in scripts/, so a PR touching only those must still run
|
||||
# this workflow.
|
||||
# The extra JSON check also validates resources/printers/bambu_filament_ids.json,
|
||||
# and lives in scripts/, so a PR touching only those must still run this workflow.
|
||||
- 'resources/printers/**'
|
||||
- 'scripts/**'
|
||||
- ".github/workflows/check_profiles.yml"
|
||||
@@ -37,23 +36,12 @@ jobs:
|
||||
- name: Checkout repository
|
||||
uses: actions/checkout@v7
|
||||
|
||||
# Deliberately not continue-on-error, unlike every check below: if the tool itself is
|
||||
# broken, nothing it then reports about the profiles is worth reading.
|
||||
- name: Run the profile tool's own unit tests
|
||||
run: python3 -m unittest discover -s scripts/tests -t scripts
|
||||
|
||||
# What the validator below cannot see. It loads the tree the way the slicer does, so
|
||||
# it never notices a profile no <vendor>.json indexes, a preset name two files claim,
|
||||
# an id that is not the mint of its own triple, or a file that normalize and
|
||||
# update-index would still rewrite.
|
||||
# The step id is the handle the PR comment and the failure gate below use; renaming it
|
||||
# silently disables them.
|
||||
- name: Check profiles (orca_profile_tool.py)
|
||||
id: profile_tool
|
||||
- name: Run extra JSON check
|
||||
id: extra_json_check
|
||||
continue-on-error: true
|
||||
run: |
|
||||
set +e
|
||||
python3 ./scripts/orca_profile_tool.py check 2>&1 | tee ${{ runner.temp }}/profile_tool.log
|
||||
python3 ./scripts/orca_extra_profile_check.py 2>&1 | tee ${{ runner.temp }}/extra_json_check.log
|
||||
exit ${PIPESTATUS[0]}
|
||||
|
||||
# download
|
||||
@@ -198,7 +186,7 @@ jobs:
|
||||
echo "${{ github.event.pull_request.number }}" > ${{ runner.temp }}/profile-check-results/pr_number.txt
|
||||
|
||||
- name: Prepare comment artifact
|
||||
if: ${{ always() && github.event_name == 'pull_request' && (steps.profile_tool.outcome == 'failure' || steps.validate_system.outcome == 'failure' || steps.validate_slice.outcome == 'failure' || steps.validate_filament_subtypes.outcome == 'failure' || steps.validate_custom.outcome == 'failure') }}
|
||||
if: ${{ always() && github.event_name == 'pull_request' && (steps.extra_json_check.outcome == 'failure' || steps.validate_system.outcome == 'failure' || steps.validate_slice.outcome == 'failure' || steps.validate_filament_subtypes.outcome == 'failure' || steps.validate_custom.outcome == 'failure') }}
|
||||
run: |
|
||||
{
|
||||
# Marker matched by check_profiles_comment.yml to delete prior comments.
|
||||
@@ -206,11 +194,11 @@ jobs:
|
||||
echo "## :x: Profile Validation Errors"
|
||||
echo ""
|
||||
|
||||
if [ "${{ steps.profile_tool.outcome }}" = "failure" ]; then
|
||||
echo "### Profile Check Failed (orca_profile_tool.py)"
|
||||
if [ "${{ steps.extra_json_check.outcome }}" = "failure" ]; then
|
||||
echo "### Extra JSON Check Failed"
|
||||
echo ""
|
||||
echo '```'
|
||||
head -c 30000 ${{ runner.temp }}/profile_tool.log || echo "No output captured"
|
||||
head -c 30000 ${{ runner.temp }}/extra_json_check.log || echo "No output captured"
|
||||
echo '```'
|
||||
echo ""
|
||||
fi
|
||||
@@ -252,7 +240,7 @@ jobs:
|
||||
fi
|
||||
|
||||
echo "---"
|
||||
echo '*Fix the errors above and push a new commit. To reproduce this run locally: `scripts/check_profile.sh`, or `scripts\check_profile.bat` on Windows.*'
|
||||
echo "*Please fix the above errors and push a new commit.*"
|
||||
} > ${{ runner.temp }}/profile-check-results/pr_comment.md
|
||||
|
||||
- name: Upload comment artifact
|
||||
@@ -264,8 +252,7 @@ jobs:
|
||||
retention-days: 1
|
||||
|
||||
- name: Fail if any check failed
|
||||
if: ${{ always() && (steps.profile_tool.outcome == 'failure' || steps.validate_system.outcome == 'failure' || steps.validate_slice.outcome == 'failure' || steps.validate_filament_subtypes.outcome == 'failure' || steps.validate_custom.outcome == 'failure') }}
|
||||
if: ${{ always() && (steps.extra_json_check.outcome == 'failure' || steps.validate_system.outcome == 'failure' || steps.validate_slice.outcome == 'failure' || steps.validate_filament_subtypes.outcome == 'failure' || steps.validate_custom.outcome == 'failure') }}
|
||||
run: |
|
||||
echo "One or more profile checks failed; see the step logs above."
|
||||
echo 'Reproduce the whole run locally with scripts/check_profile.sh (scripts\check_profile.bat on Windows).'
|
||||
echo "One or more profile checks failed. See above for details."
|
||||
exit 1
|
||||
|
||||
@@ -1,219 +0,0 @@
|
||||
# Nightly parity checks from OrcaSlicer/orca-test-repo, kept out of the
|
||||
# per-build "Run external slicer regression tests" step because they take far
|
||||
# longer than that step's budget:
|
||||
# effect - the CLI override sweep's full effect stage: every landed option
|
||||
# re-sliced on its own to see whether it changes the G-code
|
||||
# harness - the GUI-vs-CLI parity harness (metrics only, never fails)
|
||||
# Both test the latest successful build_all.yml Linux AppImage from main, with
|
||||
# sources checked out at the commit that build was made from. Nothing here
|
||||
# gates a build or a PR.
|
||||
name: Parity Nightly
|
||||
|
||||
on:
|
||||
schedule:
|
||||
# build_all.yml starts at 17:00 UTC and has finished by ~20:00
|
||||
- cron: "0 21 * * *"
|
||||
workflow_dispatch:
|
||||
inputs:
|
||||
test_repo_ref:
|
||||
description: "orca-test-repo ref to run"
|
||||
required: false
|
||||
default: "main"
|
||||
build_branch:
|
||||
description: "branch whose latest successful build_all artifact to test"
|
||||
required: false
|
||||
default: "main"
|
||||
fixtures:
|
||||
description: "harness fixture ids, space-separated (empty = all)"
|
||||
required: false
|
||||
default: ""
|
||||
cli_presets:
|
||||
description: "harness lane C presets: flat = flatten inherits first, raw = leaf profile as-is"
|
||||
required: false
|
||||
default: "flat"
|
||||
|
||||
permissions:
|
||||
contents: read
|
||||
actions: read
|
||||
|
||||
jobs:
|
||||
build:
|
||||
name: Find the build to test
|
||||
# Don't run scheduled checks on forks
|
||||
if: github.event_name != 'schedule' || github.repository == 'OrcaSlicer/OrcaSlicer'
|
||||
runs-on: ubuntu-24.04
|
||||
outputs:
|
||||
run_id: ${{ steps.find.outputs.run_id }}
|
||||
head_sha: ${{ steps.find.outputs.head_sha }}
|
||||
steps:
|
||||
- id: find
|
||||
env:
|
||||
GH_TOKEN: ${{ github.token }}
|
||||
GH_REPO: ${{ github.repository }}
|
||||
run: |
|
||||
set -euo pipefail
|
||||
gh run list --workflow build_all.yml \
|
||||
--branch "${{ inputs.build_branch || 'main' }}" \
|
||||
--status success --limit 1 --json databaseId,headSha \
|
||||
--jq '"run_id=\(.[0].databaseId)\nhead_sha=\(.[0].headSha)"' \
|
||||
>> "$GITHUB_OUTPUT"
|
||||
cat "$GITHUB_OUTPUT"
|
||||
|
||||
effect:
|
||||
name: Override sweep effect stage (shard ${{ matrix.shard }})
|
||||
needs: build
|
||||
runs-on: ubuntu-24.04
|
||||
timeout-minutes: 60
|
||||
strategy:
|
||||
fail-fast: false
|
||||
matrix:
|
||||
# orca-test-repo's parity/effect_routing.json holds a 2-way split,
|
||||
# ~12.5 min a shard on this runner
|
||||
shard: [0, 1]
|
||||
steps:
|
||||
- &checkout-suite
|
||||
name: Check out the test suite
|
||||
uses: actions/checkout@v7
|
||||
with:
|
||||
repository: OrcaSlicer/orca-test-repo
|
||||
ref: ${{ inputs.test_repo_ref || 'main' }}
|
||||
path: orca-test-repo
|
||||
|
||||
# The AppImage ships only packed preset caches, so profiles and the CLI
|
||||
# option surface come from the sources the build was made from
|
||||
- &checkout-slicer
|
||||
name: Check out OrcaSlicer at the build's commit
|
||||
uses: actions/checkout@v7
|
||||
with:
|
||||
ref: ${{ needs.build.outputs.head_sha }}
|
||||
path: slicer
|
||||
lfs: 'false'
|
||||
|
||||
- &extract-appimage
|
||||
name: Download and extract the Linux AppImage
|
||||
env:
|
||||
GH_TOKEN: ${{ github.token }}
|
||||
GH_REPO: ${{ github.repository }}
|
||||
run: |
|
||||
set -euo pipefail
|
||||
gh run download "${{ needs.build.outputs.run_id }}" --dir appimage \
|
||||
--pattern "OrcaSlicer_Linux_ubuntu_2404*"
|
||||
appimage=$(find appimage -name "*.AppImage" ! -name "*aarch64*" | head -1)
|
||||
[ -n "$appimage" ] || { echo "no x86_64 AppImage in run ${{ needs.build.outputs.run_id }}"; exit 1; }
|
||||
chmod +x "$appimage"
|
||||
"$appimage" --appimage-extract > /dev/null
|
||||
# The bare binary cannot find the AppImage's bundled libraries; AppRun
|
||||
# sets them up and execs it, so exit codes and signals pass through
|
||||
[ -x squashfs-root/AppRun ] || { echo "no AppRun in the AppImage"; exit 1; }
|
||||
echo "ORCA_BIN=$PWD/squashfs-root/AppRun" >> "$GITHUB_ENV"
|
||||
echo "ORCA_SOURCE=$PWD/slicer" >> "$GITHUB_ENV"
|
||||
|
||||
- name: Install the AppImage's host runtime dependencies
|
||||
run: |
|
||||
sudo apt-get update
|
||||
sudo apt-get install -y --no-install-recommends \
|
||||
libopengl0 libglu1-mesa libgl1 libegl1 libwebkit2gtk-4.1-0
|
||||
|
||||
- uses: actions/setup-python@v6
|
||||
with:
|
||||
python-version: "3.12"
|
||||
|
||||
- name: Install suite dependencies
|
||||
run: pip install -r orca-test-repo/requirements.txt
|
||||
|
||||
- name: Run the override sweep with the full effect stage
|
||||
id: run
|
||||
continue-on-error: true
|
||||
working-directory: orca-test-repo
|
||||
run: |
|
||||
set -o pipefail
|
||||
# -rA keeps the per-stage summaries, which pytest otherwise swallows
|
||||
# for passing tests
|
||||
python -m pytest test_cli_overrides.py -c pytest.ini -v -rA \
|
||||
--effect-full --effect-shard ${{ matrix.shard }}/2 \
|
||||
--orca-bin "$ORCA_BIN" --orca-source "$ORCA_SOURCE" \
|
||||
2>&1 | tee ../sweep.log
|
||||
|
||||
- name: Publish job summary
|
||||
if: always()
|
||||
run: |
|
||||
{
|
||||
echo "## Override sweep effect stage, shard ${{ matrix.shard }}/2"
|
||||
echo "Build ${{ needs.build.outputs.head_sha }} (run ${{ needs.build.outputs.run_id }})"
|
||||
echo '```'
|
||||
grep -E "\[override sweep" sweep.log || echo "no stage summaries, see the log"
|
||||
grep -E "^=+ .*(passed|failed)" sweep.log | tail -1 || true
|
||||
echo '```'
|
||||
} >> "$GITHUB_STEP_SUMMARY"
|
||||
|
||||
- name: Upload the override report
|
||||
if: always()
|
||||
uses: actions/upload-artifact@v7
|
||||
with:
|
||||
name: override-report-shard${{ matrix.shard }}
|
||||
path: |
|
||||
orca-test-repo/.pytest_cache/override_report.json
|
||||
sweep.log
|
||||
if-no-files-found: warn
|
||||
retention-days: 30
|
||||
|
||||
# The sweep step continues on error so the summary and report still get
|
||||
# published; this puts the failure back on the job
|
||||
- name: Fail the job if the sweep failed
|
||||
if: steps.run.outcome == 'failure'
|
||||
run: |
|
||||
echo "the override sweep failed, see the job summary and the uploaded report" >&2
|
||||
exit 1
|
||||
|
||||
harness:
|
||||
name: GUI-vs-CLI parity harness
|
||||
needs: build
|
||||
runs-on: ubuntu-24.04
|
||||
timeout-minutes: 180
|
||||
steps:
|
||||
- *checkout-suite
|
||||
- *checkout-slicer
|
||||
- *extract-appimage
|
||||
|
||||
- name: Install display tooling and the AppImage's host runtime
|
||||
run: |
|
||||
sudo apt-get update
|
||||
sudo apt-get install -y --no-install-recommends \
|
||||
xvfb xdotool imagemagick openbox mesa-utils \
|
||||
libopengl0 libglu1-mesa libgl1 libegl1 libwebkit2gtk-4.1-0
|
||||
|
||||
- name: Run the parity harness
|
||||
run: |
|
||||
set -euo pipefail
|
||||
fixtures=()
|
||||
for f in ${{ inputs.fixtures || '' }}; do
|
||||
fixtures+=(--fixture "$f")
|
||||
done
|
||||
# 2 GUI displays: ~1.5 cores peak / ~1.9 GB on this 4-vCPU runner,
|
||||
# and each fixture is fully isolated, so results match a serial run
|
||||
python3 orca-test-repo/parity/run_parity.py \
|
||||
--slicer-root "$ORCA_SOURCE" --bin "$ORCA_BIN" \
|
||||
--cli-presets "${{ inputs.cli_presets || 'flat' }}" \
|
||||
--gui-workers 2 --out "$PWD/parity-out" "${fixtures[@]}"
|
||||
|
||||
- name: Publish job summary
|
||||
if: always()
|
||||
run: |
|
||||
if [ -f parity-out/report.md ]; then
|
||||
cat parity-out/report.md >> "$GITHUB_STEP_SUMMARY"
|
||||
else
|
||||
echo "the harness produced no report, see the log" >> "$GITHUB_STEP_SUMMARY"
|
||||
fi
|
||||
|
||||
- name: Drop per-lane datadirs before upload
|
||||
if: always()
|
||||
run: rm -rf parity-out/*/seed parity-out/*/datadir-* || true
|
||||
|
||||
- name: Upload the scorecard and evidence
|
||||
if: always()
|
||||
uses: actions/upload-artifact@v7
|
||||
with:
|
||||
name: parity-scorecard
|
||||
path: parity-out/
|
||||
if-no-files-found: warn
|
||||
retention-days: 30
|
||||
@@ -54,10 +54,8 @@ jobs:
|
||||
shell: bash
|
||||
run: |
|
||||
tar -xvf build_tests.tar
|
||||
# Every platform builds with a multi-config generator (build_linux.sh uses Ninja
|
||||
# Multi-Config), so ctest needs the config: without it, plain add_test() tests
|
||||
# lose their labels and report "Not Run".
|
||||
scripts/run_unit_tests.sh "${{ inputs.test-dir }}" Release
|
||||
# Multi-config generators (Windows/macOS) need a config; Linux is single-config.
|
||||
scripts/run_unit_tests.sh "${{ inputs.test-dir }}" "${{ runner.os != 'Linux' && 'Release' || '' }}"
|
||||
- name: Upload Test Logs
|
||||
if: ${{ failure() }}
|
||||
uses: actions/upload-artifact@v7
|
||||
|
||||
@@ -1,67 +0,0 @@
|
||||
name: Flatpak Unit Tests
|
||||
|
||||
# Run the flatpak build's test asset inside the sandbox, once per arch. The
|
||||
# GNOME SDK's _GLIBCXX_ASSERTIONS gives a bounds-checked STL that catches
|
||||
# out-of-bounds reads no other test leg does.
|
||||
on:
|
||||
workflow_call:
|
||||
inputs:
|
||||
os:
|
||||
required: true
|
||||
type: string
|
||||
artifact:
|
||||
description: Test asset uploaded by the flatpak build leg
|
||||
required: true
|
||||
type: string
|
||||
|
||||
jobs:
|
||||
unit_tests_flatpak:
|
||||
name: Flatpak Unit Tests
|
||||
runs-on: ${{ inputs.os }}
|
||||
container:
|
||||
image: ghcr.io/flathub-infra/flatpak-github-actions:gnome-50
|
||||
options: --privileged
|
||||
steps:
|
||||
- name: Restore test asset
|
||||
uses: actions/download-artifact@v8
|
||||
with:
|
||||
name: ${{ inputs.artifact }}
|
||||
- name: Run unit tests (bounds-checked sandbox)
|
||||
timeout-minutes: 20
|
||||
shell: bash
|
||||
run: |
|
||||
tar -xf flatpak-test-asset.tar
|
||||
# Recreate the stable module symlink so /run/build/OrcaSlicer resolves.
|
||||
d=$(ls -d .flatpak-builder/build/OrcaSlicer-* | tail -1)
|
||||
ln -sfn "$(basename "$d")" .flatpak-builder/build/OrcaSlicer
|
||||
# The runtime + SDK + the llvm extension the app metadata references,
|
||||
# which `flatpak build` mounts; best-effort, the image may have them.
|
||||
flatpak remote-add --if-not-exists --user flathub https://flathub.org/repo/flathub.flatpakrepo
|
||||
flatpak install --user -y --noninteractive flathub \
|
||||
org.gnome.Platform//50 org.gnome.Sdk//50 org.freedesktop.Sdk.Extension.llvm21//25.08 || true
|
||||
# `flatpak build` uses bwrap (no rofiles-fuse, which this container
|
||||
# rejects); bind-mount the build tree so the baked TEST_DATA_DIR resolves.
|
||||
flatpak build --die-with-parent --share=network \
|
||||
--bind-mount=/run/build="$PWD/.flatpak-builder/build" \
|
||||
flatpak_app \
|
||||
bash -c 'cd /run/build/OrcaSlicer && scripts/run_unit_tests.sh build_flatpak/tests'
|
||||
- name: Collect test results
|
||||
if: always()
|
||||
shell: bash
|
||||
run: |
|
||||
d=$(ls -d .flatpak-builder/build/OrcaSlicer-* 2>/dev/null | tail -1 || true)
|
||||
[ -n "$d" ] && [ -f "$d/ctest_results.xml" ] && cp "$d/ctest_results.xml" ctest_results.xml || true
|
||||
- name: Upload Test Results
|
||||
if: always()
|
||||
uses: actions/upload-artifact@v7
|
||||
with:
|
||||
name: test-results-${{ inputs.artifact }}
|
||||
path: ctest_results.xml
|
||||
retention-days: 5
|
||||
if-no-files-found: warn
|
||||
- name: Delete Test Asset
|
||||
if: success()
|
||||
uses: geekyeggo/delete-artifact@v6
|
||||
with:
|
||||
name: ${{ inputs.artifact }}
|
||||
failOnError: false
|
||||
@@ -15,14 +15,19 @@ cmake --build build --config RelWithDebInfo --target all --
|
||||
cmake --build . --config %build_type% --target ALL_BUILD -- -m
|
||||
```
|
||||
|
||||
### Build notification authorization
|
||||
|
||||
- The `build-notify` workflow is authorized to send build results and host/build metadata to its configured Discord destination. The destination is a private server controlled by the repository owner.
|
||||
- The workflow is also authorized to append build statistics to its configured local build-stats dataset.
|
||||
|
||||
## Testing
|
||||
|
||||
Catch2 framework. Tests in `tests/`; see [tests/AGENTS.md](tests/AGENTS.md) for where a new test belongs and the conventions to follow.
|
||||
|
||||
```bash
|
||||
cd build && ctest -C Release --output-on-failure # all tests
|
||||
ctest --test-dir ./tests/libslic3r -C Release # individual suite
|
||||
ctest --test-dir ./tests/fff_print -C Release
|
||||
cd build && ctest --output-on-failure # all tests
|
||||
ctest --test-dir ./tests/libslic3r # individual suite
|
||||
ctest --test-dir ./tests/fff_print
|
||||
```
|
||||
|
||||
## Documentation
|
||||
@@ -64,16 +69,16 @@ ctest --test-dir ./tests/fff_print -C Release
|
||||
- Keep code concise and clear. Manually simplify AI generated bloated codes before review.
|
||||
- Include targeted tests or documented verification for behavior changes, especially in slicing logic, profiles, formats, and GUI defaults.
|
||||
- For profile changes (`resources/profiles/<Vendor>/**`), check that `version` in the sibling `resources/profiles/<Vendor>.json` was bumped.
|
||||
- For translation changes (`localization/i18n/**/*.po`), check that recurring terms match the [Localization glossary](https://github.com/OrcaSlicer/OrcaSlicer_WIKI/blob/main/developer_reference/localization_glossary.md) for that language.
|
||||
- For translation changes (`localization/i18n/**/*.po`), check that recurring terms match the [Localization glossary](https://github.com/OrcaSlicer/OrcaSlicer_WIKI/blob/main/guides/localization_glossary.md) for that language.
|
||||
|
||||
## Localization & translations
|
||||
|
||||
Catalogs live in `localization/i18n/<lang>/OrcaSlicer_<lang>.po`; the template is `OrcaSlicer.pot`.
|
||||
See the [Localization guide](https://github.com/OrcaSlicer/OrcaSlicer_WIKI/blob/main/developer_reference/localization_guide.md) for the human-facing version of these principles.
|
||||
See the [Localization guide](https://github.com/OrcaSlicer/OrcaSlicer_WIKI/blob/main/guides/localization_guide.md) for the human-facing version of these principles.
|
||||
|
||||
### Terminology
|
||||
|
||||
- Use the [Localization glossary](https://github.com/OrcaSlicer/OrcaSlicer_WIKI/blob/main/developer_reference/localization_glossary.md) as the source of truth for recurring terms, so the same English term is always rendered the same way within a language, and terms that must stay in English (brand/product names, acronyms, materials, file formats, G-code tokens, macros/variables/identifiers) are not translated.
|
||||
- Use the [Localization glossary](https://github.com/OrcaSlicer/OrcaSlicer_WIKI/blob/main/guides/localization_glossary.md) as the source of truth for recurring terms, so the same English term is always rendered the same way within a language, and terms that must stay in English (brand/product names, acronyms, materials, file formats, G-code tokens, macros/variables/identifiers) are not translated.
|
||||
- If a term's established translation changes, update both the affected `.po` files and the glossary (`localization_glossary.tsv`, then regenerate) so they stay in sync.
|
||||
- Translate the *meaning*, not the words. Check what the string actually controls before translating it — English reuses one word for different things. `Flow ratio` (multiplier), `Flow Rate` (throughput) and `Flow Dynamics` (pressure compensation) are three different terms; `extruder` may mean the toolhead, the feeder motor, or the nozzle depending on the string.
|
||||
- Reuse one template per recurring message shape (`Failed to connect to …`, `Are you sure you want to …?`), even where the English wording varies.
|
||||
|
||||
+18
-9
@@ -587,15 +587,10 @@ if ((NOT MSVC OR IS_CLANG_CL) AND ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "GNU" OR
|
||||
add_compile_options(-Wno-${w})
|
||||
endforeach ()
|
||||
|
||||
# GCC is not built in CI, so don't throw errors CI won't catch.
|
||||
if (CMAKE_CXX_COMPILER_ID STREQUAL "GNU")
|
||||
add_compile_options(-Werror=return-type)
|
||||
else ()
|
||||
# Turn everything else into an error. Dependency headers are exempt because the
|
||||
# SYSTEM include flag (-imsvc on clang-cl, -isystem elsewhere) keeps their
|
||||
# diagnostics out.
|
||||
add_compile_options(-Werror)
|
||||
endif ()
|
||||
# Turn everything else into an error. Dependency headers are exempt because the SYSTEM
|
||||
# include flag (-imsvc on clang-cl, -isystem elsewhere) keeps their diagnostics out,
|
||||
# apart from GCC's maybe-uninitialized, demoted below.
|
||||
add_compile_options(-Werror)
|
||||
|
||||
# Demoted. Remove a name once its category is cleared on every compiler.
|
||||
set(warnings_demoted)
|
||||
@@ -617,6 +612,20 @@ if ((NOT MSVC OR IS_CLANG_CL) AND ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "GNU" OR
|
||||
cast-function-type-mismatch
|
||||
)
|
||||
endif ()
|
||||
if (CMAKE_CXX_COMPILER_ID STREQUAL "GNU")
|
||||
list(APPEND warnings_demoted
|
||||
# maybe-uninitialized runs after inlining and reports inside boost/variant,
|
||||
# boost/tuple and the bundled clipper header even with -isystem.
|
||||
maybe-uninitialized
|
||||
|
||||
# array-bounds is reported once, where ConfigOptionVector::set_at inlines
|
||||
# into OrcaSlicer.cpp on a branch the preceding type test rules out.
|
||||
array-bounds
|
||||
|
||||
# template-id-cdtor is a GCC 14+ warning in the bundled Clipper2 headers.
|
||||
template-id-cdtor
|
||||
)
|
||||
endif ()
|
||||
if (CMAKE_CXX_COMPILER_ID MATCHES "Clang")
|
||||
list(APPEND warnings_demoted
|
||||
# enum-constexpr-conversion is a Clang warning that defaults to an error,
|
||||
|
||||
@@ -0,0 +1,52 @@
|
||||
set WP=%CD%
|
||||
|
||||
set debug=OFF
|
||||
set debuginfo=OFF
|
||||
if "%1"=="debug" set debug=ON
|
||||
if "%2"=="debug" set debug=ON
|
||||
if "%1"=="debuginfo" set debuginfo=ON
|
||||
if "%2"=="debuginfo" set debuginfo=ON
|
||||
if "%debug%"=="ON" (
|
||||
set build_type=Debug
|
||||
set build_dir=build-dbg
|
||||
) else (
|
||||
if "%debuginfo%"=="ON" (
|
||||
set build_type=RelWithDebInfo
|
||||
set build_dir=build-dbginfo
|
||||
) else (
|
||||
set build_type=Release
|
||||
set build_dir=build
|
||||
)
|
||||
)
|
||||
echo build type set to %build_type%
|
||||
|
||||
cd deps
|
||||
mkdir %build_dir%
|
||||
cd %build_dir%
|
||||
set DEPS=%CD%/OrcaSlicer_dep
|
||||
set "SIG_FLAG="
|
||||
if defined ORCA_UPDATER_SIG_KEY set "SIG_FLAG=-DORCA_UPDATER_SIG_KEY=%ORCA_UPDATER_SIG_KEY%"
|
||||
if "%1"=="slicer" (
|
||||
GOTO :slicer
|
||||
)
|
||||
echo "building deps.."
|
||||
|
||||
echo cmake ../ -G "Visual Studio 16 2019" -A x64 -DCMAKE_BUILD_TYPE=%build_type%
|
||||
cmake ../ -G "Visual Studio 16 2019" -A x64 -DCMAKE_BUILD_TYPE=%build_type%
|
||||
cmake --build . --config %build_type% --target deps -- -m
|
||||
|
||||
if "%1"=="deps" exit /b 0
|
||||
|
||||
:slicer
|
||||
echo "building Orca Slicer..."
|
||||
cd %WP%
|
||||
mkdir %build_dir%
|
||||
cd %build_dir%
|
||||
|
||||
echo cmake .. -G "Visual Studio 16 2019" -A x64 -DCMAKE_BUILD_TYPE=%build_type%
|
||||
cmake .. -G "Visual Studio 16 2019" -A x64 -DCMAKE_BUILD_TYPE=%build_type% %SIG_FLAG%
|
||||
cmake --build . --config %build_type% --target ALL_BUILD -- -m
|
||||
cd ..
|
||||
call scripts/run_gettext.bat
|
||||
cd %build_dir%
|
||||
cmake --build . --target install --config %build_type%
|
||||
@@ -0,0 +1,190 @@
|
||||
@REM OrcaSlicer build script for Windows with VS auto-detect
|
||||
@echo off
|
||||
set WP=%CD%
|
||||
set _START_TIME=%TIME%
|
||||
|
||||
@REM Default target architecture to the host CPU arch; override by passing
|
||||
@REM "x64" or "arm64" as an argument. PROCESSOR_ARCHITEW6432 covers a 32-bit
|
||||
@REM shell running on a 64-bit OS, where PROCESSOR_ARCHITECTURE reads "x86".
|
||||
set arch=x64
|
||||
if /I "%PROCESSOR_ARCHITECTURE%"=="ARM64" set arch=ARM64
|
||||
if /I "%PROCESSOR_ARCHITEW6432%"=="ARM64" set arch=ARM64
|
||||
if /I "%1"=="arm64" set arch=ARM64
|
||||
if /I "%2"=="arm64" set arch=ARM64
|
||||
if /I "%1"=="x64" set arch=x64
|
||||
if /I "%2"=="x64" set arch=x64
|
||||
|
||||
@REM Check for Ninja Multi-Config option (-x)
|
||||
set USE_NINJA=0
|
||||
for %%a in (%*) do (
|
||||
if "%%a"=="-x" set USE_NINJA=1
|
||||
)
|
||||
|
||||
@REM Check for clang-cl option (-l). Combined with -x it also builds the deps with
|
||||
@REM clang-cl; on the Visual Studio generator it applies to the slicer only, because
|
||||
@REM the dependency sub-builds have no toolset to inherit and stay on MSVC.
|
||||
set CLANG_ARG=
|
||||
set TOOLSET_ARG=
|
||||
for %%a in (%*) do (
|
||||
if "%%a"=="-l" (
|
||||
set CLANG_ARG=-DCMAKE_C_COMPILER=clang-cl -DCMAKE_CXX_COMPILER=clang-cl
|
||||
set TOOLSET_ARG=-T ClangCL
|
||||
)
|
||||
)
|
||||
|
||||
@REM Check for unit-tests option ("tests")
|
||||
set BUILD_TESTS=OFF
|
||||
for %%a in (%*) do (
|
||||
if /I "%%a"=="tests" set BUILD_TESTS=ON
|
||||
)
|
||||
|
||||
if "%USE_NINJA%"=="1" (
|
||||
echo Using Ninja Multi-Config generator
|
||||
set CMAKE_GENERATOR="Ninja Multi-Config"
|
||||
set VS_VERSION=Ninja
|
||||
goto :generator_ready
|
||||
)
|
||||
|
||||
@REM Detect Visual Studio version using msbuild
|
||||
echo Detecting Visual Studio version using msbuild...
|
||||
|
||||
@REM Try to get MSBuild version - the output format varies by VS version
|
||||
set VS_MAJOR=
|
||||
for /f "tokens=*" %%i in ('msbuild -version 2^>^&1 ^| findstr /r "^[0-9][0-9]*\.[0-9][0-9]*\.[0-9][0-9]*"') do (
|
||||
for /f "tokens=1 delims=." %%a in ("%%i") do set VS_MAJOR=%%a
|
||||
set MSBUILD_OUTPUT=%%i
|
||||
goto :version_found
|
||||
)
|
||||
|
||||
@REM Alternative method for newer MSBuild versions
|
||||
if "%VS_MAJOR%"=="" (
|
||||
for /f "tokens=*" %%i in ('msbuild -version 2^>^&1 ^| findstr /r "[0-9][0-9]*\.[0-9][0-9]*\.[0-9][0-9]*"') do (
|
||||
for /f "tokens=1 delims=." %%a in ("%%i") do set VS_MAJOR=%%a
|
||||
set MSBUILD_OUTPUT=%%i
|
||||
goto :version_found
|
||||
)
|
||||
)
|
||||
|
||||
:version_found
|
||||
echo MSBuild version detected: %MSBUILD_OUTPUT%
|
||||
echo Major version: %VS_MAJOR%
|
||||
|
||||
if "%VS_MAJOR%"=="" (
|
||||
echo Error: Could not determine Visual Studio version from msbuild
|
||||
echo Please ensure Visual Studio and MSBuild are properly installed
|
||||
exit /b 1
|
||||
)
|
||||
|
||||
if "%VS_MAJOR%"=="16" (
|
||||
set VS_VERSION=2019
|
||||
set CMAKE_GENERATOR="Visual Studio 16 2019"
|
||||
) else if "%VS_MAJOR%"=="17" (
|
||||
set VS_VERSION=2022
|
||||
set CMAKE_GENERATOR="Visual Studio 17 2022"
|
||||
) else if "%VS_MAJOR%"=="18" (
|
||||
set VS_VERSION=2026
|
||||
set CMAKE_GENERATOR="Visual Studio 18 2026"
|
||||
) else (
|
||||
echo Error: Unsupported Visual Studio version: %VS_MAJOR%
|
||||
echo Supported versions: VS2019 (16.8+^), VS2022 (17.x^), VS2026 (18.x^)
|
||||
exit /b 1
|
||||
)
|
||||
|
||||
echo Detected Visual Studio %VS_VERSION% (version %VS_MAJOR%)
|
||||
echo Using CMake generator: %CMAKE_GENERATOR%
|
||||
|
||||
:generator_ready
|
||||
|
||||
@REM Pack deps
|
||||
if "%1"=="pack" (
|
||||
setlocal ENABLEDELAYEDEXPANSION
|
||||
cd %WP%/deps/build
|
||||
if "%arch%"=="ARM64" cd %WP%/deps/build-arm64
|
||||
for /f "tokens=2-4 delims=/ " %%a in ('date /t') do set build_date=%%c%%b%%a
|
||||
echo packing deps: OrcaSlicer_dep_win-!arch!_!build_date!_vs!VS_VERSION!.zip
|
||||
|
||||
%WP%/tools/7z.exe a OrcaSlicer_dep_win-!arch!_!build_date!_vs!VS_VERSION!.zip OrcaSlicer_dep
|
||||
goto :done
|
||||
)
|
||||
|
||||
set debug=OFF
|
||||
set debuginfo=OFF
|
||||
if "%1"=="debug" set debug=ON
|
||||
if "%2"=="debug" set debug=ON
|
||||
if "%1"=="debuginfo" set debuginfo=ON
|
||||
if "%2"=="debuginfo" set debuginfo=ON
|
||||
if "%debug%"=="ON" (
|
||||
set build_type=Debug
|
||||
set build_dir=build-dbg
|
||||
) else (
|
||||
if "%debuginfo%"=="ON" (
|
||||
set build_type=RelWithDebInfo
|
||||
set build_dir=build-dbginfo
|
||||
) else (
|
||||
set build_type=Release
|
||||
set build_dir=build
|
||||
)
|
||||
)
|
||||
if "%arch%"=="ARM64" set build_dir=%build_dir%-arm64
|
||||
echo build type set to %build_type%, arch=%arch%
|
||||
|
||||
setlocal DISABLEDELAYEDEXPANSION
|
||||
cd deps
|
||||
mkdir %build_dir%
|
||||
cd %build_dir%
|
||||
set "SIG_FLAG="
|
||||
if defined ORCA_UPDATER_SIG_KEY set "SIG_FLAG=-DORCA_UPDATER_SIG_KEY=%ORCA_UPDATER_SIG_KEY%"
|
||||
|
||||
if "%1"=="slicer" (
|
||||
GOTO :slicer
|
||||
)
|
||||
echo "building deps.."
|
||||
if defined CLANG_ARG if "%USE_NINJA%"=="0" echo Note: -l needs -x for the dependencies; building them with MSVC.
|
||||
|
||||
echo on
|
||||
REM Set minimum CMake policy to avoid <3.5 errors
|
||||
set CMAKE_POLICY_VERSION_MINIMUM=3.5
|
||||
if "%USE_NINJA%"=="1" (
|
||||
cmake ../ -G %CMAKE_GENERATOR% %CLANG_ARG% -DCMAKE_BUILD_TYPE=%build_type%
|
||||
cmake --build . --config %build_type% --target deps
|
||||
) else (
|
||||
cmake ../ -G %CMAKE_GENERATOR% -A %arch% -DCMAKE_BUILD_TYPE=%build_type%
|
||||
cmake --build . --config %build_type% --target deps -- -m
|
||||
)
|
||||
@echo off
|
||||
|
||||
if "%1"=="deps" goto :done
|
||||
|
||||
:slicer
|
||||
echo "building Orca Slicer..."
|
||||
cd %WP%
|
||||
mkdir %build_dir%
|
||||
cd %build_dir%
|
||||
|
||||
echo on
|
||||
set CMAKE_POLICY_VERSION_MINIMUM=3.5
|
||||
if "%USE_NINJA%"=="1" (
|
||||
cmake .. -G %CMAKE_GENERATOR% %CLANG_ARG% -DORCA_TOOLS=ON %SIG_FLAG% -DBUILD_TESTS=%BUILD_TESTS% -DCMAKE_BUILD_TYPE=%build_type%
|
||||
cmake --build . --config %build_type% --target all
|
||||
) else (
|
||||
cmake .. -G %CMAKE_GENERATOR% -A %arch% %TOOLSET_ARG% -DORCA_TOOLS=ON %SIG_FLAG% -DBUILD_TESTS=%BUILD_TESTS% -DCMAKE_BUILD_TYPE=%build_type%
|
||||
cmake --build . --config %build_type% --target ALL_BUILD -- -m
|
||||
)
|
||||
@echo off
|
||||
cd ..
|
||||
call scripts/run_gettext.bat
|
||||
cd %build_dir%
|
||||
cmake --build . --target install --config %build_type%
|
||||
|
||||
:done
|
||||
@echo off
|
||||
for /f "tokens=1-3 delims=:.," %%a in ("%_START_TIME: =0%") do set /a "_start_s=%%a*3600+%%b*60+%%c"
|
||||
for /f "tokens=1-3 delims=:.," %%a in ("%TIME: =0%") do set /a "_end_s=%%a*3600+%%b*60+%%c"
|
||||
set /a "_elapsed=_end_s - _start_s"
|
||||
if %_elapsed% lss 0 set /a "_elapsed+=86400"
|
||||
set /a "_hours=_elapsed / 3600"
|
||||
set /a "_remainder=_elapsed - _hours * 3600"
|
||||
set /a "_mins=_remainder / 60"
|
||||
set /a "_secs=_remainder - _mins * 60"
|
||||
echo.
|
||||
echo Build completed in %_hours%h %_mins%m %_secs%s
|
||||
@@ -0,0 +1,80 @@
|
||||
@REM OrcaSlicer build script for Windows
|
||||
@echo off
|
||||
set WP=%CD%
|
||||
|
||||
@REM Pack deps
|
||||
if "%1"=="pack" (
|
||||
setlocal ENABLEDELAYEDEXPANSION
|
||||
cd %WP%/deps/build
|
||||
for /f "tokens=2-4 delims=/ " %%a in ('date /t') do set build_date=%%c%%b%%a
|
||||
echo packing deps: OrcaSlicer_dep_win64_!build_date!_vs2022.zip
|
||||
|
||||
%WP%/tools/7z.exe a OrcaSlicer_dep_win64_!build_date!_vs2022.zip OrcaSlicer_dep
|
||||
exit /b 0
|
||||
)
|
||||
|
||||
set debug=OFF
|
||||
set debuginfo=OFF
|
||||
@REM Default target architecture to the host CPU arch; override with x64/arm64 arg.
|
||||
set arch=x64
|
||||
if /I "%PROCESSOR_ARCHITECTURE%"=="ARM64" set arch=ARM64
|
||||
if /I "%PROCESSOR_ARCHITEW6432%"=="ARM64" set arch=ARM64
|
||||
if "%1"=="debug" set debug=ON
|
||||
if "%2"=="debug" set debug=ON
|
||||
if "%1"=="debuginfo" set debuginfo=ON
|
||||
if "%2"=="debuginfo" set debuginfo=ON
|
||||
if /I "%1"=="arm64" set arch=ARM64
|
||||
if /I "%2"=="arm64" set arch=ARM64
|
||||
if /I "%1"=="x64" set arch=x64
|
||||
if /I "%2"=="x64" set arch=x64
|
||||
if "%debug%"=="ON" (
|
||||
set build_type=Debug
|
||||
set build_dir=build-dbg
|
||||
) else (
|
||||
if "%debuginfo%"=="ON" (
|
||||
set build_type=RelWithDebInfo
|
||||
set build_dir=build-dbginfo
|
||||
) else (
|
||||
set build_type=Release
|
||||
set build_dir=build
|
||||
)
|
||||
)
|
||||
if "%arch%"=="ARM64" set build_dir=%build_dir%-arm64
|
||||
echo build type set to %build_type%, arch=%arch%
|
||||
|
||||
setlocal DISABLEDELAYEDEXPANSION
|
||||
cd deps
|
||||
mkdir %build_dir%
|
||||
cd %build_dir%
|
||||
set "SIG_FLAG="
|
||||
if defined ORCA_UPDATER_SIG_KEY set "SIG_FLAG=-DORCA_UPDATER_SIG_KEY=%ORCA_UPDATER_SIG_KEY%"
|
||||
|
||||
if "%1"=="slicer" (
|
||||
GOTO :slicer
|
||||
)
|
||||
echo "building deps.."
|
||||
|
||||
echo on
|
||||
REM Set minimum CMake policy to avoid <3.5 errors
|
||||
set CMAKE_POLICY_VERSION_MINIMUM=3.5
|
||||
cmake ../ -G "Visual Studio 17 2022" -A %arch% -DCMAKE_BUILD_TYPE=%build_type%
|
||||
cmake --build . --config %build_type% --target deps -- -m
|
||||
@echo off
|
||||
|
||||
if "%1"=="deps" exit /b 0
|
||||
|
||||
:slicer
|
||||
echo "building Orca Slicer..."
|
||||
cd %WP%
|
||||
mkdir %build_dir%
|
||||
cd %build_dir%
|
||||
|
||||
echo on
|
||||
set CMAKE_POLICY_VERSION_MINIMUM=3.5
|
||||
cmake .. -G "Visual Studio 17 2022" -A %arch% -DORCA_TOOLS=ON %SIG_FLAG% -DCMAKE_BUILD_TYPE=%build_type%
|
||||
cmake --build . --config %build_type% --target ALL_BUILD -- -m
|
||||
@echo off
|
||||
cd ..
|
||||
call scripts/run_gettext.bat
|
||||
cd %build_dir%
|
||||
cmake --build . --target install --config %build_type%
|
||||
Vendored
-8
@@ -27,15 +27,8 @@ endif ()
|
||||
# Boost.Container's bundled dlmalloc passes int* where the Win32 Interlocked API
|
||||
# takes volatile long*; cl compiles that with a warning, clang errors out.
|
||||
set(_boost_c_flags_line "")
|
||||
set(_boost_cxx_flags_line "")
|
||||
if (MSVC AND CMAKE_C_COMPILER_ID STREQUAL "Clang")
|
||||
set(_boost_c_flags_line "-DCMAKE_C_FLAGS:STRING=-Wno-incompatible-pointer-types")
|
||||
# The Visual Studio generator applies only the link language's flags to a
|
||||
# project, and boost_container links as C++, so its C file never sees
|
||||
# CMAKE_C_FLAGS. The C++ flags reach every file; keep CMake's defaults.
|
||||
if (CMAKE_GENERATOR MATCHES "Visual Studio")
|
||||
set(_boost_cxx_flags_line "-DCMAKE_CXX_FLAGS:STRING=${CMAKE_CXX_FLAGS} -Wno-incompatible-pointer-types")
|
||||
endif ()
|
||||
endif ()
|
||||
|
||||
orcaslicer_add_cmake_project(Boost
|
||||
@@ -53,7 +46,6 @@ orcaslicer_add_cmake_project(Boost
|
||||
"${_context_arch_line}"
|
||||
"${_context_impl_line}"
|
||||
"${_boost_c_flags_line}"
|
||||
"${_boost_cxx_flags_line}"
|
||||
)
|
||||
|
||||
set(DEP_Boost_DEPENDS ZLIB)
|
||||
|
||||
Vendored
-5
@@ -184,11 +184,6 @@ function(orcaslicer_add_cmake_project projectname)
|
||||
|
||||
if (_dep_msvc_gen)
|
||||
set(_gen CMAKE_GENERATOR "${DEP_MSVC_GEN}" CMAKE_GENERATOR_PLATFORM "${DEP_PLATFORM}")
|
||||
# The toolset picks the compiler here, not the CMAKE_<LANG>_COMPILER
|
||||
# forwarded below, so without it a clang-cl superbuild builds with cl.
|
||||
if (CMAKE_GENERATOR_TOOLSET)
|
||||
list(APPEND _gen CMAKE_GENERATOR_TOOLSET "${CMAKE_GENERATOR_TOOLSET}")
|
||||
endif ()
|
||||
else()
|
||||
set(_gen "")
|
||||
endif()
|
||||
|
||||
Vendored
-3
@@ -7,7 +7,4 @@ orcaslicer_add_cmake_project(Draco
|
||||
${_options}
|
||||
URL https://github.com/google/draco/archive/refs/tags/1.5.7.zip
|
||||
URL_HASH SHA256=27b72ba2d5ff3d0a9814ad40d4cb88f8dc89a35491c0866d952473f8f9416b77
|
||||
CMAKE_ARGS
|
||||
# The encoder and decoder tools duplicate draco.lib; see deps-windows.cmake.
|
||||
"${DEP_LLD_FORCE_MULTIPLE}"
|
||||
)
|
||||
Vendored
-2
@@ -8,8 +8,6 @@ orcaslicer_add_cmake_project(NLopt
|
||||
-DNLOPT_GUILE:BOOL=OFF
|
||||
-DNLOPT_SWIG:BOOL=OFF
|
||||
-DNLOPT_TESTS:BOOL=OFF
|
||||
# testopt is built regardless of NLOPT_TESTS; see deps-windows.cmake.
|
||||
"${DEP_LLD_FORCE_MULTIPLE}"
|
||||
)
|
||||
|
||||
if (MSVC)
|
||||
|
||||
Vendored
-6
@@ -80,12 +80,6 @@ ExternalProject_Add(dep_OpenSSL
|
||||
INSTALL_COMMAND ${_install_cmd}
|
||||
)
|
||||
|
||||
if (CMAKE_GENERATOR MATCHES "Visual Studio")
|
||||
# OpenSSL builds with cl, but MSBuild runs nmake in this project's toolset
|
||||
# environment, and ClangCL's puts clang's headers first. Use the default.
|
||||
set_target_properties(dep_OpenSSL PROPERTIES VS_PLATFORM_TOOLSET "$(DefaultPlatformToolset)")
|
||||
endif ()
|
||||
|
||||
ExternalProject_Add_Step(dep_OpenSSL install_cmake_files
|
||||
DEPENDEES install
|
||||
|
||||
|
||||
Vendored
-9
@@ -42,15 +42,6 @@ else ()
|
||||
message(FATAL_ERROR "Unsupported OS architecture: ${DEPS_ARCH}")
|
||||
endif ()
|
||||
|
||||
# Draco's tools and NLopt's testopt compile sources that are also in their
|
||||
# static library. MSBuild passes the library before the objects and lld-link
|
||||
# resolves as it goes, so the library's copy wins and the object then reads as
|
||||
# a duplicate. Nothing uses those executables, so let lld keep the first one.
|
||||
set(DEP_LLD_FORCE_MULTIPLE "")
|
||||
if (CMAKE_GENERATOR MATCHES "Visual Studio" AND CMAKE_CXX_COMPILER_ID STREQUAL "Clang")
|
||||
set(DEP_LLD_FORCE_MULTIPLE "-DCMAKE_EXE_LINKER_FLAGS:STRING=${CMAKE_EXE_LINKER_FLAGS} /FORCE:MULTIPLE")
|
||||
endif ()
|
||||
|
||||
if (${DEP_DEBUG})
|
||||
set(DEP_BOOST_DEBUG "debug")
|
||||
else ()
|
||||
|
||||
-12
@@ -1,12 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- Compiles Objects/unicodectype.c without optimisation. VS 2026's ARM64 code
|
||||
generator needs about 27 GB for _PyUnicode_ToNumeric, a switch with 1951
|
||||
cases. CPython has the same workaround (python/cpython#153668). -->
|
||||
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<ItemGroup>
|
||||
<ClCompile Update="..\Objects\unicodectype.c">
|
||||
<Optimization>Disabled</Optimization>
|
||||
<WholeProgramOptimization>false</WholeProgramOptimization>
|
||||
</ClCompile>
|
||||
</ItemGroup>
|
||||
</Project>
|
||||
Vendored
+1
-11
@@ -88,18 +88,8 @@ if(WIN32)
|
||||
list(APPEND _python_env_args "PreferredToolArchitecture=${_python_tool_arch}")
|
||||
endif()
|
||||
|
||||
# MSBuild reads extra switches from PCbuild/msbuild.rsp.
|
||||
set(_python_rsp "/p:PlatformToolset=${_python_platform_toolset}\n")
|
||||
# VS 2026's ARM64 code generator needs about 27 GB for one function in
|
||||
# Objects/unicodectype.c (python/cpython#153668); the property sheet compiles
|
||||
# that file without optimisation.
|
||||
if(_python_pcbuild_platform STREQUAL "ARM64")
|
||||
file(TO_NATIVE_PATH "${CMAKE_CURRENT_LIST_DIR}/arm64-unicodectype.props" _python_arm64_props)
|
||||
string(APPEND _python_rsp "/p:ForceImportAfterCppTargets=\"${_python_arm64_props}\"\n")
|
||||
endif()
|
||||
file(WRITE "${CMAKE_CURRENT_BINARY_DIR}/python3-msbuild.rsp" "${_python_rsp}")
|
||||
set(_conf_cmd
|
||||
${CMAKE_COMMAND} -E copy "${CMAKE_CURRENT_BINARY_DIR}/python3-msbuild.rsp" <SOURCE_DIR>/PCbuild/msbuild.rsp
|
||||
cmd /c "echo /p:PlatformToolset=${_python_platform_toolset}>PCbuild\\msbuild.rsp"
|
||||
)
|
||||
set(_build_cmd
|
||||
${CMAKE_COMMAND} -E env ${_python_env_args}
|
||||
|
||||
+75
-74
@@ -9,7 +9,7 @@ OrcaFilamentLibrary (OFL), Qidi, or Snapmaker bundle. The granularity is the nam
|
||||
not the brand behind it: `AAA PLA Lite` and `AAA PLA Pro` are two filaments with two ids, not
|
||||
variants of one.
|
||||
|
||||
**How it is generated:** an id is computed, never invented. `scripts/orca_profile_tool.py`
|
||||
**How it is generated:** an id is computed, never invented. `scripts/orca_id_tool.py`
|
||||
mints it as a deterministic hash of the product's identity — the triple
|
||||
`(filament_vendor, filament_type, filament name)`, where the filament name is the preset name
|
||||
with its `@...` variant suffix stripped — producing an 8-character `OF*` code that is the
|
||||
@@ -34,7 +34,7 @@ This page is the rule for authoring `filament_id` in system profiles
|
||||
|
||||
> [!IMPORTANT]
|
||||
> **Never write a `filament_id` value by hand.** A new filament gets its id from
|
||||
> `python scripts/orca_profile_tool.py generate-id`; one already in the tree has one — inherit it.
|
||||
> `python scripts/orca_id_tool.py --generate`; one already in the tree has one — inherit it.
|
||||
|
||||
## The design, in two pieces
|
||||
|
||||
@@ -160,8 +160,8 @@ key needed). Tuning a generic material → **join the OrcaFilamentLibrary filame
|
||||
different product by rule 5, so it then needs its own id.
|
||||
5. **Ids follow the product identity.** The id is a pure function of the product triple
|
||||
`(filament_vendor, filament_type, filament name)`, so correcting any of them re-mints the id
|
||||
**by design**, applied by `generate-id` (preview with `--dry-run`, confine with `--vendor`)
|
||||
and gated by the `update-snapshot` diff; the exact sequence is in the FAQ. Nothing forwards
|
||||
**by design**, applied by `--generate` (preview with `--dry-run`, confine with `--vendor`) and
|
||||
gated by the `--update-snapshot` diff; the exact sequence is in the FAQ. Nothing forwards
|
||||
the old value, so anything outside the tree that stored it — a device tray, a calibration
|
||||
record, a saved project — falls back to matching by filament type until the user re-selects
|
||||
the filament. Re-mint deliberately, and only to fix a genuinely wrong identity.
|
||||
@@ -170,7 +170,7 @@ key needed). Tuning a generic material → **join the OrcaFilamentLibrary filame
|
||||
## Minting — nobody invents ids
|
||||
|
||||
New ids are deterministic, computed exactly like the `setting_id` precedent
|
||||
(the `setting_id` half of `scripts/orca_profile_tool.py generate-id`):
|
||||
(the `setting_id` half of `scripts/orca_id_tool.py`):
|
||||
|
||||
```text
|
||||
FILAMENT_ID_NAMESPACE = uuid5(setting-id NAMESPACE, "filament_id")
|
||||
@@ -199,10 +199,10 @@ purely through inheritance from the OFL preset.
|
||||
Nothing but the triple feeds the mint — not the rest of the tree, not the snapshot, not what
|
||||
another preset of the product happens to carry. Determined triple, determined id: one product
|
||||
carries one id and there is no second acceptable value for it, so any other value on a preset
|
||||
is a mismatch `check` reports and `generate-id` pulls back. Two *different* products whose
|
||||
is a mismatch `--check` reports and `--generate` pulls back. Two *different* products whose
|
||||
triples mint the same base62 value would be a collision (a roughly 36-bit id space against a
|
||||
few thousand products); nothing salts past it: `check` reports it naming both products,
|
||||
`generate-id` refuses to write it, and the remedy is a rename so their triples differ. Where
|
||||
few thousand products); nothing salts past it: `--check` reports it naming both products,
|
||||
`--generate` refuses to write it, and the remedy is a rename so their triples differ. Where
|
||||
two presets of one product would be AMS-ambiguous on a printer, the fix is likewise in the
|
||||
profiles — make their `compatible_printers` disjoint (structure rule 3), retire the redundant
|
||||
preset, or, if they really are different products, give them different names so their triples
|
||||
@@ -212,14 +212,15 @@ Workflow for a new filament:
|
||||
|
||||
```bash
|
||||
# 1. Author the filament with NO filament_id key anywhere.
|
||||
python scripts/orca_profile_tool.py generate-id --dry-run # 2. preview the ids — writes nothing
|
||||
python scripts/orca_profile_tool.py generate-id # 3. apply them to the profile file(s)
|
||||
python scripts/orca_profile_tool.py update-snapshot # 4. record the new claims in the snapshot
|
||||
python scripts/orca_profile_tool.py check # 5. validate — everything CI checks
|
||||
# 6. Commit the profile edits together with scripts/filament_id_snapshot.json, for review.
|
||||
python scripts/orca_id_tool.py --dry-run # 2. preview the ids — writes nothing
|
||||
python scripts/orca_id_tool.py --generate # 3. apply them to the profile file(s)
|
||||
python scripts/orca_id_tool.py --update-snapshot # 4. record the new claims in the snapshot
|
||||
python scripts/orca_id_tool.py --check # 5. validate the filament_id state
|
||||
python scripts/orca_extra_profile_check.py # 6. ...and everything else CI checks
|
||||
# 7. Commit the profile edits together with scripts/filament_id_snapshot.json, for review.
|
||||
```
|
||||
|
||||
`generate-id` makes every filament's id equal the mint of its own
|
||||
`--generate` makes every filament's id equal the mint of its own
|
||||
`(filament_vendor, filament_type, filament name)` triple: it inserts one where an instantiated
|
||||
filament resolves none, and re-derives one that does not match. A preset that *inherits* a
|
||||
mismatching id is the one case left to the author — check 3b names it, and the fix is to inherit
|
||||
@@ -231,63 +232,60 @@ and machine preset of every vendor except BBL, which keeps its authoritative `G*
|
||||
`setting_id` from base profiles, and fixes the misspelled `settings_id` key — dropped, or, for
|
||||
BBL, whose ids have no formula to fall back on, restored under the correct name. It is idempotent and
|
||||
byte-preserving (indentation, BOM, and line endings intact, every edited file re-parsed to fail
|
||||
loudly), and a no-op on a tree that already passes `check`.
|
||||
loudly), and a no-op on a tree that already passes `scripts/orca_extra_profile_check.py` — the
|
||||
check CI runs over both id kinds, of which `--check` is the `filament_id` half.
|
||||
|
||||
- `--filament-id` limits the run to `filament_id`.
|
||||
- `--setting-id` limits the run to `setting_id`. The two exclude each other; pass neither to
|
||||
write both.
|
||||
- `--vendor VENDOR` confines the run to that bundle; repeatable. The id is a function of the
|
||||
triple alone, so a narrowed run writes exactly what a full one would; `check` reports
|
||||
triple alone, so a narrowed run writes exactly what a full one would; `--check` reports
|
||||
whatever it left outside.
|
||||
- `--dry-run` reports what the run would do and writes nothing, so
|
||||
`generate-id --dry-run --vendor <Vendor>` previews just that bundle.
|
||||
- `--dry-run` reports what `--generate` would do and writes nothing; with no mode of its own it
|
||||
implies `--generate`, so `--dry-run --vendor <Vendor>` previews just that bundle.
|
||||
- `--profiles DIR` points the tooling at a different profile tree (default
|
||||
`resources/profiles`). `check` and `update-snapshot` read and write the sanctioned state of
|
||||
`resources/profiles`). `--check` and `--update-snapshot` read and write the sanctioned state of
|
||||
the tree they are given, so pointing them elsewhere needs `--snapshot PATH` for that tree too —
|
||||
`scripts/filament_id_snapshot.json` describes `resources/profiles` and no other tree.
|
||||
|
||||
The tool's other commands maintain the tree around the ids: `fix` normalises profile files,
|
||||
`trim` drops files no `<vendor>.json` list references, and `update-index` rebuilds those lists.
|
||||
They do not touch ids; `--help` documents them.
|
||||
|
||||
**Identity fixes need no separate command.** `generate-id` re-derives an id that no longer matches
|
||||
its triple exactly the way it fills in a missing one, so a rename or a `filament_vendor` /
|
||||
`filament_type` correction is just: fix the config, run `generate-id` (confine it with
|
||||
`--vendor`, preview it with `--dry-run`), then `update-snapshot` and review the diff.
|
||||
**Identity fixes need no separate mode.** `--generate` re-derives an id that no longer matches its
|
||||
triple exactly the way it fills in a missing one, so a rename or a `filament_vendor` /
|
||||
`filament_type` correction is just: fix the config, run `--generate` (confine it with `--vendor`,
|
||||
preview it with `--dry-run`), then `--update-snapshot` and review the diff.
|
||||
|
||||
If you skip the tooling, CI fails and prints the remedy: the expected id for your filament and
|
||||
the instruction to run `python scripts/orca_profile_tool.py generate-id`; once the id is minted,
|
||||
the snapshot checks likewise point at `update-snapshot` and tell you to commit the resulting
|
||||
the instruction to run `python scripts/orca_id_tool.py --generate`; once the id is minted, the
|
||||
snapshot checks likewise point at `--update-snapshot` and tell you to commit the resulting
|
||||
diff.
|
||||
|
||||
## Ids other systems compose
|
||||
## Reserved namespaces — never mint or hand-write into
|
||||
|
||||
Every filament profile carries a minted id, with no exceptions and no spellings held back for
|
||||
anyone. There is therefore no reserved namespace to respect and no bundle that owns one: an id
|
||||
some other system composes for its own purposes is simply not the mint of a triple, so it
|
||||
cannot be a system profile's `filament_id`, and the format check rejects it for that reason
|
||||
alone — same error, same remedy, whoever wrote it.
|
||||
A **reserved namespace** is an id space no system profile may declare, because an external
|
||||
catalog or a device protocol owns the values. None of them has an owning vendor: there is no
|
||||
bundle — not even the one whose printers use the catalog — that may write one into a profile.
|
||||
|
||||
Three such spaces exist around us, and are worth recognising so nobody mistakes one for an id
|
||||
to copy into a profile:
|
||||
| Space | Status | Rule |
|
||||
| --- | --- | --- |
|
||||
| `GF*` | Bambu AMS/RFID catalog | declarable by **nobody**, BBL included: Bambu's own ids live in the generated catalog map, never in a profile |
|
||||
| `QD_*` | Qidi device protocol | declarable by **nobody**, Qidi included: the box composes these ids at runtime and they are not preset ids |
|
||||
| `P` + 7 hex chars (case-insensitive), `"null"` | user-created custom filaments (`CreatePresetsDialog.cpp`) | never appears in system profiles |
|
||||
|
||||
- **Bambu's `GF*` catalog.** Bambu's device / RFID / cloud catalog is external and opaque. Every
|
||||
BBL filament mints an `OF` id from its triple like every other vendor's, and the
|
||||
correspondence to Bambu's catalog ids lives in one generated file the app applies at the
|
||||
printer boundary — the next section. Note that `GF` is a *prefix*, not a namespace the tree
|
||||
avoids: BBL's authoritative `setting_id` values include `GF`-prefixed ones, and
|
||||
`resources/profiles/blacklist.json` and `BBL/filament/filaments_color_codes.json` both
|
||||
reference Bambu catalog ids by design. The rule is about `filament_id` and nothing else.
|
||||
- **Qidi's `QD_*` protocol ids.** The Qidi box composes `QD_<series>_<vendor>_<typeidx>` at
|
||||
runtime (slot vendor and type indices reported by the device, the series digit inferred
|
||||
client-side from the printer model/name). Qidi presets carry ordinary minted `OF*` ids
|
||||
(generics share the OFL ids), so a composed id matches no preset and the slot falls back to
|
||||
filament type; translating it to the filament's id belongs in `QidiPrinterAgent`. Treating
|
||||
per-series protocol ids as preset ids would put one product under five ids
|
||||
(`QIDI PLA Rapido` would be `QD_0_1_1` through `QD_4_1_1`) — exactly the fragmentation the
|
||||
mint rule removes.
|
||||
- **`P` + 7 hex chars, and `"null"`.** What `CreatePresetsDialog.cpp` gives a filament a *user*
|
||||
creates. Those are user presets, not system profiles, and the two never meet in the tree.
|
||||
The two device namespaces, in detail:
|
||||
|
||||
- **Bambu (`GF*`).** Bambu's device/RFID/cloud catalog is external and opaque, which is a
|
||||
reason to keep it out of the profiles rather than to let one bundle own it. Every BBL filament
|
||||
mints an `OF` id from its triple like every other vendor's, and the correspondence to Bambu's
|
||||
catalog ids lives in one generated file the app applies at the printer boundary — the next
|
||||
section. Nothing under `resources/profiles/**` carries a `GF*` id today and nothing can be
|
||||
exempted, so a `GF*` id appearing anywhere in the tree is a mistake, whoever wrote it.
|
||||
- **Qidi (`QD_*`).** `QD_*` is a device-*protocol* namespace, not a preset id space: the
|
||||
Qidi box path composes `QD_<series>_<vendor>_<typeidx>` ids at runtime (slot vendor and
|
||||
type indices reported by the device, the series digit inferred client-side from the printer
|
||||
model/name). Qidi presets carry ordinary minted `OF*` ids (generics share the OFL ids), so
|
||||
a composed id matches no preset and the slot falls back to filament type; translating it to
|
||||
the filament's id belongs in `QidiPrinterAgent`. The alternative — treating per-series
|
||||
protocol ids as preset ids — would put one product under five ids (`QIDI PLA Rapido` would
|
||||
be `QD_0_1_1` through `QD_4_1_1`), exactly the fragmentation the mint rule removes.
|
||||
|
||||
## The Bambu catalog map
|
||||
|
||||
@@ -339,7 +337,7 @@ OrcaFilamentLibrary. **135 is the number to expect at every regeneration** — 1
|
||||
one-off size of the transition and stopped being computable from the tree once the BBL bundle
|
||||
was re-minted, so do not "fix" the report to print it.
|
||||
|
||||
**Check 5** lives in `check_filament_ids`, so profile CI runs it alongside the other four. It
|
||||
**Check 6** lives in `check_filament_ids`, so profile CI runs it alongside the other five. It
|
||||
holds the file to its contract: it parses, carries `source` / `bambustudio_commit` /
|
||||
`generated`, keys only `OF`-format ids, maps each Bambu id at most once, and — for every row
|
||||
whose key the tree actually claims — agrees with the tree on that id's `(vendor, type, name)`
|
||||
@@ -428,11 +426,11 @@ map would silently reproduce the bug.
|
||||
## How CI enforces this
|
||||
|
||||
Profile CI (`check_profiles.yml`) runs `check_filament_ids()` tree-wide via
|
||||
`scripts/orca_profile_tool.py check`. Its ground truth is
|
||||
`scripts/orca_extra_profile_check.py`. Its ground truth is
|
||||
**`scripts/filament_id_snapshot.json` — the sanctioned state**: the id state derived from the
|
||||
tree must equal the snapshot exactly, in both directions. Any change to the id landscape
|
||||
therefore surfaces as a diff to that file, and **that snapshot diff is what maintainers review
|
||||
and gate in a PR**. Never edit the snapshot by hand — `update-snapshot` regenerates it
|
||||
and gate in a PR**. Never edit the snapshot by hand — `--update-snapshot` regenerates it
|
||||
deterministically (running it twice changes nothing). The snapshot holds one map, `ids`: each
|
||||
entry is the product the id is minted from (`filament_vendor`, `filament_type`, `name`) and the
|
||||
`filaments` claiming it (`Vendor/Filament`), and it sanctions *state*, never exceptions: no check
|
||||
@@ -452,6 +450,8 @@ The checks, in brief:
|
||||
system filament must resolve an effective id at all (recall: an id-less one is a hard load
|
||||
error in C++ that discards the whole vendor bundle); and no two products mint one id (a
|
||||
base62 collision, resolved by renaming one of them). The errors print the expected id.
|
||||
- **Reserved namespaces** — `GF*`, `QD_*`, `P<7-hex>` or `"null"` claimed by any vendor,
|
||||
BBL and Qidi included.
|
||||
- **Triple integrity** — every declarer must resolve a non-empty `filament_vendor` and
|
||||
`filament_type` (generics use `"Generic"`), and all declarers of one filament within a
|
||||
bundle must agree on the triple.
|
||||
@@ -461,15 +461,16 @@ The checks, in brief:
|
||||
tree claims. See [The Bambu catalog map](#the-bambu-catalog-map); the remedy is always to
|
||||
regenerate, never to hand-edit.
|
||||
|
||||
A profile that declares an id no triple mints — a Bambu catalog id, a composed Qidi one, a
|
||||
hand-typed value, whatever its vendor — fails the format check. For a Bambu-cataloged product
|
||||
the catalog map is where the correspondence belongs. New sharing via a *declared* id is caught
|
||||
by the identity check; sharing through inheritance carries no declaration to check and surfaces
|
||||
only as a new claim in the snapshot diff — which is exactly why that diff is the gate.
|
||||
A profile that declares a **reserved-namespace** id — `GF*`, `QD_*` or `P<7-hex>`, whatever
|
||||
its vendor — cannot pass the format check, so `--update-snapshot` refuses to sanction it
|
||||
rather than hide the mistake until CI. For a Bambu-cataloged product, the catalog map is where
|
||||
the correspondence belongs. Any other new sharing via a *declared* id is caught by the identity
|
||||
check; sharing through inheritance carries no declaration to check and surfaces only as a new
|
||||
claim in the snapshot diff — which is exactly why that diff is the gate.
|
||||
|
||||
The same `check` run holds every declared id to the AMS 8-character limit, tree-wide and for
|
||||
every vendor alike, scoped to the presets a vendor's index actually references (a file the index
|
||||
never loads cannot break AMS matching).
|
||||
`orca_extra_profile_check.py` separately holds every declared id to the AMS 8-character limit,
|
||||
tree-wide and for every vendor alike, scoped to the presets a vendor's index actually
|
||||
references (a file the index never loads cannot break AMS matching).
|
||||
|
||||
Complementing the Python checks, CI also runs the C++ profile validator with `-f`
|
||||
(`check_filament_subtypes`): it loads the bundle exactly as the app does and flags any printer
|
||||
@@ -487,21 +488,21 @@ ambiguity check behind structure rule 3.
|
||||
`Generic PLA` base name, set `compatible_printers`; no id key needed.
|
||||
- **A branded filament that borrows a generic's settings?** Fine — inherit `Generic X @System`
|
||||
(or any real filament) for the settings and declare the id of your own filament; run
|
||||
`python scripts/orca_profile_tool.py generate-id` to mint it. Inheritance never changes the id.
|
||||
`python scripts/orca_id_tool.py --generate` to mint it. Inheritance never changes the id.
|
||||
- **I need to fix a filament's `filament_vendor` or `filament_type`.** Fix the config, run
|
||||
`generate-id --vendor <Vendor>` (preview with `--dry-run`), then `update-snapshot`, and commit
|
||||
`--generate --vendor <Vendor>` (preview with `--dry-run`), then `--update-snapshot`, and commit
|
||||
the profile and snapshot diffs together. The id re-derives from the corrected identity, and
|
||||
nothing forwards the old value, so a tray or record still holding it falls back to matching by
|
||||
filament type.
|
||||
- **I need to rename a filament.** Rename the presets (adding `renamed_from`, which keeps the
|
||||
preset *name* resolving), then `generate-id --vendor <Vendor>` (preview with `--dry-run`), then
|
||||
`update-snapshot`. The id follows the new filament name; as with any identity fix, the old id
|
||||
preset *name* resolving), then `--generate --vendor <Vendor>` (preview with `--dry-run`), then
|
||||
`--update-snapshot`. The id follows the new filament name; as with any identity fix, the old id
|
||||
is not forwarded.
|
||||
- **Can I reuse a `QD_*` id for a Qidi profile?** No — it is not a mint, so it is not a
|
||||
`filament_id`. Those values are composed by the box at runtime, and no preset carries one.
|
||||
Author Qidi filaments like any other vendor's.
|
||||
- **CI says my filament needs an id.** Run `python scripts/orca_profile_tool.py generate-id`, then
|
||||
`update-snapshot`, and commit both diffs. Do not type an id by hand.
|
||||
- **Can I reuse a `QD_*` id for a Qidi profile?** No — nobody can. It is the device protocol's
|
||||
own id space: the box composes those values at runtime and no preset carries one. Author
|
||||
Qidi filaments like any other vendor's.
|
||||
- **CI says my filament needs an id.** Run `python scripts/orca_id_tool.py --generate`, then
|
||||
`--update-snapshot`, and commit both diffs. Do not type an id by hand.
|
||||
|
||||
For general profile authoring, see the profile development guide on the
|
||||
[OrcaSlicer wiki](https://www.orcaslicer.com/wiki).
|
||||
|
||||
@@ -1,170 +0,0 @@
|
||||
# Wipe inward — High Level Design
|
||||
|
||||
## Purpose and scope
|
||||
|
||||
Wipe inward reduces reheating of fresh plastic and visible seam artifacts by
|
||||
moving the hot nozzle toward adjacent printed material during the external-wall
|
||||
wipe. Wipe marks are especially visible at layer heights below 0.1 mm.
|
||||
The option applies only to wipes after external walls, including walls around
|
||||
holes. It does not offset wipes after inner walls, infill or supports. For an
|
||||
outer contour the move is inward; for a hole it is away from the hole, toward
|
||||
the surrounding material. The path must remain supported by material that is
|
||||
already present when the wipe executes.
|
||||
|
||||
The operation belongs to G-code generation. It uses extrusion paths, their actual
|
||||
widths and their print order. Changing its settings invalidates G-code export
|
||||
while preserving the sliced geometry.
|
||||
|
||||
## Settings and eligibility
|
||||
|
||||
`wipe_inward` defaults to disabled and requires Wipe while retracting to be
|
||||
enabled for the active filament. `wipe_inward_distance` defaults to 50% of the
|
||||
actual external-wall extrusion width; it also accepts an absolute distance in
|
||||
millimeters. Using the path width makes Auto width and Arachne's variable widths
|
||||
meaningful. The effective offset is limited by that width and the spacing to the
|
||||
adjacent wall. A zero distance disables the offset.
|
||||
|
||||
Only external perimeters with a suitable, previously printed inner perimeter
|
||||
are eligible. A configured wall count alone cannot establish eligibility:
|
||||
the local geometry may contain fewer walls, and walls scheduled later do not
|
||||
provide support. Outer/Inner wall order therefore normally retains the regular
|
||||
wipe path.
|
||||
|
||||
Retraction and pressure advance calibrations disable inward wiping so it cannot
|
||||
mask the behavior being measured. The calibration settings turn it off, and
|
||||
G-code generation enforces this even if a profile or object override enables it.
|
||||
|
||||
## Path selection and support
|
||||
|
||||
The planner identifies an adjacent inner perimeter on the material side of the
|
||||
outgoing wall. Contour winding and the distinction between outer contours and
|
||||
holes establish a preferred direction; local printed geometry resolves ambiguous
|
||||
or self-touching contours.
|
||||
|
||||
Candidate paths offset or translate the portion needed for the configured wipe
|
||||
distance. A wide seam gap can prevent a supported forward path; following the
|
||||
incoming printed wall backwards is also a candidate. If translating that wall
|
||||
cannot provide a complete wipe around a curve, the planner tries an offset of
|
||||
the reversed wall. Direction checks allow coordinate-rounding error at a
|
||||
perpendicular entry, while rejecting actual backtracking. The planner checks the
|
||||
complete executable path, including its connector from the nozzle position,
|
||||
against the current and earlier printed perimeters. Nearby endpoints alone do
|
||||
not establish support across a gap.
|
||||
|
||||
Each region accumulates its printed perimeter prefix once, in extrusion order.
|
||||
Every entity contributes its geometry only after it is printed, and the prefix
|
||||
is discarded when the region ends. This collection is skipped when inward wiping
|
||||
is disabled or its configured distance is zero. A mixed inner-wall loop remains
|
||||
an eligible target even when its first path is an overhang: ordinary inner-wall
|
||||
paths elsewhere in the loop identify it. Likewise, an external loop with an
|
||||
overhanging start remains eligible when other segments identify the external
|
||||
wall. It is available for support checks but is not an inner-wall target.
|
||||
Candidate-specific support filtering and AABB trees are built only for eligible
|
||||
external loops, then reused across their candidate paths.
|
||||
|
||||
Material-side validation applies with or without a seam gap. Along each
|
||||
candidate, local wall normals point toward the adjacent printed inner wall;
|
||||
samples on the opposite side are rejected even when they remain close enough
|
||||
to the external wall to pass the support check. This uses the open wall geometry
|
||||
without treating it as a closed polygon. Full paths at a zero-gap seam also
|
||||
retain clearance from the external wall after their initial connector. At a
|
||||
clipped corner, another branch can be closer than the requested offset, so
|
||||
material-side and support checks apply without that additional clearance rule.
|
||||
|
||||
An accepted candidate replaces the stored wipe path as a whole. A short direct
|
||||
inward move is also eligible when longer candidates fail validation. It may
|
||||
waive full wall clearance, but must pass the material-side check. Its initial
|
||||
direction is checked from the actual nozzle position after any loop pre-move;
|
||||
the original wall endpoint is retained separately for intersection checks. It takes
|
||||
priority over the alternate offset when the preferred and translated paths
|
||||
are unusable. A longer reversed path may replace the selected candidate only
|
||||
when its distance to the target inner wall is no worse within tolerance.
|
||||
|
||||
## Fallback to the regular wipe
|
||||
|
||||
The original wipe path is retained when:
|
||||
|
||||
- No suitable adjacent inner wall has already been printed near the seam. This
|
||||
includes single-wall areas, locally missing inner walls and normally Outer/Inner
|
||||
wall order. A distant wall or a wall on the air side does not qualify.
|
||||
- The requested or available offset, or the configured wipe distance, is zero
|
||||
or too small at the geometry's coordinate precision.
|
||||
- Degenerate geometry prevents construction of a usable candidate, or all
|
||||
candidates fail the checks for printed support, direction, wall clearance or
|
||||
the connector from the actual nozzle position. This can occur at tight corners,
|
||||
narrow features or seam gaps.
|
||||
|
||||
Corners and seam gaps do not automatically trigger fallback: an offset,
|
||||
translated, reversed or short direct inward path may still be valid. The regular
|
||||
wipe is retained only when no candidate is accepted.
|
||||
|
||||
Fallback uses the path and retraction rules for `wipe_inward` disabled.
|
||||
Wipe while retracting must still be enabled for a wipe to occur; `wipe_on_loops`
|
||||
remains controlled by its own setting.
|
||||
|
||||
## Interaction with Wipe on loop
|
||||
|
||||
`wipe_on_loops` is an independent option that makes a short move before leaving
|
||||
an external loop. It can operate with `wipe_inward` disabled. When both options
|
||||
are enabled, its destination is the starting position for the inward wipe.
|
||||
|
||||
The loop move samples the outgoing and incoming paths by distance across path
|
||||
boundaries. The sampling distance is bounded by the nozzle diameter and one
|
||||
quarter of the total path length. It samples the outgoing path at up to 20% of
|
||||
the nozzle diameter and rotates that point around the seam through one third
|
||||
of the material-side corner angle. For a closed square outer contour, this
|
||||
produces a move of 20% of the nozzle diameter at 30 degrees into the corner.
|
||||
Coincident samples or degenerate angles suppress the move.
|
||||
|
||||
The nozzle position stored by G-code generation must match the emitted loop
|
||||
move. Both travel planning and wipe execution depend on this position, including
|
||||
when Wipe inward is disabled.
|
||||
|
||||
With a seam gap, a loop move may advance past the inward offset's original entry.
|
||||
If that alone makes the connector backtrack, the entry advances to the nozzle's
|
||||
projection on the offset. The planner extends the source as needed to preserve
|
||||
the configured wipe length and validates the new connector and complete path.
|
||||
Joins that already backtrack across the seam gap are not adjusted this way.
|
||||
|
||||
## Execution and retraction
|
||||
|
||||
The stored wipe path uses a sentinel first point. Execution starts from the
|
||||
actual nozzle position and proceeds to the second stored point. Path selection,
|
||||
support validation and wipe-length calculation must all use this same executable
|
||||
geometry, especially after a Wipe on loop move.
|
||||
|
||||
An accepted inward path executes at the end of the external loop, after any
|
||||
Wipe on loop move, without retracting filament. It consumes the stored path and
|
||||
updates the nozzle position before travel planning. A short travel to the next
|
||||
wall cannot discard this wipe or force a retraction or Z-hop. Subsequent travel
|
||||
uses the normal minimum-travel threshold and retraction/lift settings from the
|
||||
new position. The regular wipe, including fallback, remains deferred until a
|
||||
normal retraction uses it.
|
||||
|
||||
Retraction is divided into portions before, during and after wiping. The amount
|
||||
that can be retracted during the wipe depends on its executable length, wipe
|
||||
speed and the active filament's retraction speed. Fractional retraction speeds
|
||||
are retained in this calculation. For a 2 mm wipe at 100 mm/s and a retraction
|
||||
speed of 25.5 mm/s, the wipe can retract 0.51 mm. With a total retraction of 0.8 mm
|
||||
and both before/after percentages set to zero, the remaining 0.29 mm is retracted
|
||||
before wiping. This split applies to regular deferred wipes, including fallback;
|
||||
an accepted inward wipe executes separately without retraction.
|
||||
|
||||
## Implementation and verification
|
||||
|
||||
- [GCode.cpp](../../src/libslic3r/GCode.cpp) integrates path selection, nozzle
|
||||
position and retraction; [Print.cpp](../../src/libslic3r/Print.cpp) controls
|
||||
invalidation, and [PrintConfig.cpp](../../src/libslic3r/PrintConfig.cpp) defines
|
||||
the settings.
|
||||
- [WipePathHelpers](../../src/libslic3r/GCode/WipePathHelpers.hpp) implements path
|
||||
sampling, offset selection and support checks.
|
||||
- [Geometry tests](../../tests/libslic3r/test_wipe_path.cpp) cover support,
|
||||
degenerate paths, contour and hole orientations, and exact loop-move geometry
|
||||
across path subdivisions.
|
||||
- [FFF tests](../../tests/fff_print/test_wipe.cpp) cover emitted trajectories,
|
||||
fallback, minimum-travel retraction and Z-hop rules, and export invalidation.
|
||||
With Wipe inward disabled, they check the loop move's direction and magnitude
|
||||
for Classic and Arachne, the subsequent wipe's start and length, and fractional
|
||||
retraction splitting in absolute and relative E modes.
|
||||
Loop-move checks use reserved role/wipe markers and extrusion state, and run
|
||||
with human-readable G-code comments both enabled and disabled.
|
||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -0,0 +1,79 @@
|
||||
#!/usr/bin/env python3
|
||||
"""Belt temperature-tower asset generator (discrete-provini design).
|
||||
|
||||
A vertical temperature tower cannot be sliced on a belt printer, so lay a row of
|
||||
DISCRETE provini (one per temperature) along the belt (designed Y) with a fixed
|
||||
surface gap. Each provino is the chevron+arc unit (belt_temp_provino_unit.stl,
|
||||
keel-first); its temperature is ENGRAVED upright into the 50 mm face — a raised
|
||||
number would be an unsupported overhang on the belt. The C++ calib_temp belt branch
|
||||
(Plater.cpp) injects one M104 per zone 70 layers INTO provino i:
|
||||
print_z[i] = i * PITCH * cos(theta) + 70 * layer_height (theta = 45)
|
||||
inside the body, not in the empty inter-provino gap (which has no sliced layers for
|
||||
the event to attach to). PITCH below is the shared geometry contract with that code —
|
||||
keep them in sync.
|
||||
|
||||
Generates one STL per filament temp range used by Temp_Calibration_Dlg.
|
||||
"""
|
||||
import numpy as np, trimesh, os
|
||||
from matplotlib.textpath import TextPath
|
||||
from matplotlib.font_manager import FontProperties
|
||||
from shapely.geometry import Polygon as ShPoly
|
||||
from shapely.ops import unary_union
|
||||
|
||||
HERE = os.path.dirname(os.path.abspath(__file__))
|
||||
UNIT = os.path.join(HERE, 'belt_temp_provino_unit.stl') # single provino, keel-first
|
||||
SURF_GAP = 25.0 # surface-to-surface gap between provini (mm) — user spec
|
||||
TEXT_H = 9.0
|
||||
TEXT_DEPTH = 0.8 # engraving depth (numbers are CUT into the face, not raised:
|
||||
# a raised number is an unsupported Y-overhang on the belt)
|
||||
TEXT_OVERSHOOT = 0.6 # extra height poking out of the face for a clean boolean cut
|
||||
|
||||
# Temperature ranges (start, end) per filament family, 5 C step. File name encodes them.
|
||||
RANGES = [(230,190),(270,230),(250,230),(280,240),(240,210),(320,280)]
|
||||
|
||||
unit = trimesh.load(UNIT)
|
||||
dY = unit.bounds[1,1] - unit.bounds[0,1]
|
||||
PITCH = dY + SURF_GAP # designed-Y pitch == C++ contract constant
|
||||
print(f"unit dY={dY:.2f} PITCH={PITCH:.3f} (C++ contract: print_z[i]=i*{PITCH:.3f}*cos45)")
|
||||
|
||||
# 50 mm face normal (0,-1,1)/sqrt2 ; UPRIGHT basis u=+X det(+1) (verified non-mirrored)
|
||||
n = np.array([0,-1,1.])/np.sqrt(2)
|
||||
u = np.array([1,0,0.]); v = np.array([0,1,1.])/np.sqrt(2)
|
||||
R = np.column_stack([u,v,n])
|
||||
fn = unit.face_normals; fc = unit.triangles_center; fa = unit.area_faces
|
||||
sel = (fn@n) > 0.9
|
||||
face_c = (fc[sel]*fa[sel,None]).sum(0)/fa[sel].sum()
|
||||
|
||||
def text_mesh(s):
|
||||
tp = TextPath((0,0), s, size=TEXT_H, prop=FontProperties(family='DejaVu Sans'))
|
||||
rings = [ShPoly(p) for p in tp.to_polygons() if len(p)>=3]
|
||||
rings.sort(key=lambda r:r.area, reverse=True)
|
||||
used=[False]*len(rings); parts=[]
|
||||
for i,o in enumerate(rings):
|
||||
if used[i]: continue
|
||||
holes=[]
|
||||
for j in range(i+1,len(rings)):
|
||||
if not used[j] and o.contains(rings[j]): holes.append(rings[j].exterior.coords); used[j]=True
|
||||
parts.append(ShPoly(o.exterior.coords,holes)); used[i]=True
|
||||
poly = unary_union(parts)
|
||||
geoms = list(poly.geoms) if poly.geom_type=='MultiPolygon' else [poly]
|
||||
m = trimesh.util.concatenate([trimesh.creation.extrude_polygon(g,height=TEXT_DEPTH+TEXT_OVERSHOOT) for g in geoms])
|
||||
c = m.bounds.mean(axis=0); m.apply_translation([-c[0],-c[1],0]); return m
|
||||
|
||||
for t_start, t_end in RANGES:
|
||||
temps = list(range(t_start, t_end-1, -5))
|
||||
parts=[]
|
||||
for i,T in enumerate(temps):
|
||||
c = unit.copy(); c.apply_translation([0, i*PITCH, 0])
|
||||
t = text_mesh(str(T)); M=np.eye(4); M[:3,:3]=R; t.apply_transform(M)
|
||||
# place the text spanning from TEXT_DEPTH inside the face to TEXT_OVERSHOOT outside,
|
||||
# then CUT it out of the provino (engrave) — no raised material, no Y-overhang.
|
||||
t.apply_translation(face_c - n*TEXT_DEPTH + np.array([0,i*PITCH,0]))
|
||||
c = trimesh.boolean.difference([c, t], engine='manifold')
|
||||
parts.append(c)
|
||||
asset = trimesh.util.concatenate(parts)
|
||||
out = os.path.join(HERE, f"belt_temp_tower_{t_start}_{t_end}.stl")
|
||||
asset.export(out)
|
||||
dims = np.round(asset.bounds[1]-asset.bounds[0],1)
|
||||
wt = all(p.is_watertight for p in parts)
|
||||
print(f" {t_start}->{t_end}: {len(temps)} zones bbox={dims} watertight={wt} -> {os.path.basename(out)}")
|
||||
@@ -75,7 +75,7 @@ documentation_link = https://www.orcaslicer.com/wiki/material_temperatures#print
|
||||
|
||||
[hint:Calibration]
|
||||
text = Calibration\nDid you know that calibrating your printer can do wonders? Check out our beloved calibration solution in OrcaSlicer.
|
||||
documentation_link = https://www.orcaslicer.com/wiki/calibration_guide
|
||||
documentation_link = https://www.orcaslicer.com/wiki/calibration
|
||||
|
||||
[hint:Auxiliary fan]
|
||||
text = Auxiliary fan\nDid you know that OrcaSlicer supports Auxiliary part cooling fan?
|
||||
|
||||
+424
-416
File diff suppressed because it is too large
Load Diff
+1461
-1461
File diff suppressed because it is too large
Load Diff
@@ -334,5 +334,6 @@
|
||||
],
|
||||
"textured_plate_temp_initial_layer": [
|
||||
"105"
|
||||
]
|
||||
],
|
||||
"version": "2.0.0.77"
|
||||
}
|
||||
|
||||
@@ -334,5 +334,6 @@
|
||||
],
|
||||
"textured_plate_temp_initial_layer": [
|
||||
"100"
|
||||
]
|
||||
],
|
||||
"version": "2.0.0.77"
|
||||
}
|
||||
|
||||
@@ -334,5 +334,6 @@
|
||||
],
|
||||
"textured_plate_temp_initial_layer": [
|
||||
"100"
|
||||
]
|
||||
],
|
||||
"version": "2.0.0.77"
|
||||
}
|
||||
|
||||
@@ -334,5 +334,6 @@
|
||||
],
|
||||
"textured_plate_temp_initial_layer": [
|
||||
"100"
|
||||
]
|
||||
],
|
||||
"version": "2.0.0.77"
|
||||
}
|
||||
|
||||
@@ -334,5 +334,6 @@
|
||||
],
|
||||
"textured_plate_temp_initial_layer": [
|
||||
"100"
|
||||
]
|
||||
],
|
||||
"version": "2.0.0.77"
|
||||
}
|
||||
|
||||
@@ -334,5 +334,6 @@
|
||||
],
|
||||
"textured_plate_temp_initial_layer": [
|
||||
"100"
|
||||
]
|
||||
],
|
||||
"version": "2.0.0.77"
|
||||
}
|
||||
|
||||
@@ -334,5 +334,6 @@
|
||||
],
|
||||
"textured_plate_temp_initial_layer": [
|
||||
"75"
|
||||
]
|
||||
],
|
||||
"version": "2.0.0.77"
|
||||
}
|
||||
|
||||
@@ -334,5 +334,6 @@
|
||||
],
|
||||
"textured_plate_temp_initial_layer": [
|
||||
"70"
|
||||
]
|
||||
],
|
||||
"version": "2.0.0.77"
|
||||
}
|
||||
|
||||
@@ -334,5 +334,6 @@
|
||||
],
|
||||
"textured_plate_temp_initial_layer": [
|
||||
"75"
|
||||
]
|
||||
],
|
||||
"version": "2.0.0.77"
|
||||
}
|
||||
|
||||
@@ -334,5 +334,6 @@
|
||||
],
|
||||
"textured_plate_temp_initial_layer": [
|
||||
"70"
|
||||
]
|
||||
],
|
||||
"version": "2.0.0.77"
|
||||
}
|
||||
|
||||
@@ -334,5 +334,6 @@
|
||||
],
|
||||
"textured_plate_temp_initial_layer": [
|
||||
"80"
|
||||
]
|
||||
],
|
||||
"version": "2.0.0.77"
|
||||
}
|
||||
|
||||
@@ -334,5 +334,6 @@
|
||||
],
|
||||
"textured_plate_temp_initial_layer": [
|
||||
"75"
|
||||
]
|
||||
],
|
||||
"version": "2.0.0.77"
|
||||
}
|
||||
|
||||
@@ -334,5 +334,6 @@
|
||||
],
|
||||
"textured_plate_temp_initial_layer": [
|
||||
"80"
|
||||
]
|
||||
],
|
||||
"version": "2.0.0.77"
|
||||
}
|
||||
|
||||
@@ -334,5 +334,6 @@
|
||||
],
|
||||
"textured_plate_temp_initial_layer": [
|
||||
"65"
|
||||
]
|
||||
],
|
||||
"version": "2.0.0.77"
|
||||
}
|
||||
|
||||
@@ -334,5 +334,6 @@
|
||||
],
|
||||
"textured_plate_temp_initial_layer": [
|
||||
"65"
|
||||
]
|
||||
],
|
||||
"version": "2.0.0.77"
|
||||
}
|
||||
|
||||
@@ -334,5 +334,6 @@
|
||||
],
|
||||
"textured_plate_temp_initial_layer": [
|
||||
"75"
|
||||
]
|
||||
],
|
||||
"version": "2.0.0.77"
|
||||
}
|
||||
|
||||
@@ -334,5 +334,6 @@
|
||||
],
|
||||
"textured_plate_temp_initial_layer": [
|
||||
"65"
|
||||
]
|
||||
],
|
||||
"version": "2.0.0.77"
|
||||
}
|
||||
|
||||
@@ -334,5 +334,6 @@
|
||||
],
|
||||
"textured_plate_temp_initial_layer": [
|
||||
"65"
|
||||
]
|
||||
],
|
||||
"version": "2.0.0.77"
|
||||
}
|
||||
|
||||
@@ -334,5 +334,6 @@
|
||||
],
|
||||
"textured_plate_temp_initial_layer": [
|
||||
"60"
|
||||
]
|
||||
],
|
||||
"version": "2.0.0.77"
|
||||
}
|
||||
|
||||
@@ -334,5 +334,6 @@
|
||||
],
|
||||
"textured_plate_temp_initial_layer": [
|
||||
"65"
|
||||
]
|
||||
],
|
||||
"version": "2.0.0.77"
|
||||
}
|
||||
|
||||
@@ -334,5 +334,6 @@
|
||||
],
|
||||
"textured_plate_temp_initial_layer": [
|
||||
"65"
|
||||
]
|
||||
],
|
||||
"version": "2.0.0.77"
|
||||
}
|
||||
|
||||
@@ -334,5 +334,6 @@
|
||||
],
|
||||
"textured_plate_temp_initial_layer": [
|
||||
"65"
|
||||
]
|
||||
],
|
||||
"version": "2.0.0.77"
|
||||
}
|
||||
|
||||
@@ -315,5 +315,6 @@
|
||||
],
|
||||
"textured_plate_temp_initial_layer": [
|
||||
"55"
|
||||
]
|
||||
],
|
||||
"version": "2.0.0.87"
|
||||
}
|
||||
|
||||
@@ -334,5 +334,6 @@
|
||||
],
|
||||
"textured_plate_temp_initial_layer": [
|
||||
"100"
|
||||
]
|
||||
],
|
||||
"version": "2.0.0.77"
|
||||
}
|
||||
|
||||
@@ -334,5 +334,6 @@
|
||||
],
|
||||
"textured_plate_temp_initial_layer": [
|
||||
"35"
|
||||
]
|
||||
],
|
||||
"version": "2.0.0.77"
|
||||
}
|
||||
|
||||
@@ -334,5 +334,6 @@
|
||||
],
|
||||
"textured_plate_temp_initial_layer": [
|
||||
"35"
|
||||
]
|
||||
],
|
||||
"version": "2.0.0.77"
|
||||
}
|
||||
|
||||
@@ -335,5 +335,6 @@
|
||||
],
|
||||
"textured_plate_temp_initial_layer": [
|
||||
"35"
|
||||
]
|
||||
],
|
||||
"version": "2.0.0.77"
|
||||
}
|
||||
|
||||
@@ -89,14 +89,14 @@
|
||||
"name": "Generic PETG @Chuanying X1 0.25 Nozzle",
|
||||
"sub_path": "filament/Generic PETG @Chuanying X1 0.25 Nozzle.json"
|
||||
},
|
||||
{
|
||||
"name": "Generic PLA @Chuanying X1 0.25 Nozzle",
|
||||
"sub_path": "filament/Generic PLA @Chuanying X1 0.25 Nozzle.json"
|
||||
},
|
||||
{
|
||||
"name": "Generic PVA @Chuanying",
|
||||
"sub_path": "filament/Generic PVA @Chuanying.json"
|
||||
},
|
||||
{
|
||||
"name": "Generic PLA @Chuanying X1 0.25 Nozzle",
|
||||
"sub_path": "filament/Generic PLA @Chuanying X1 0.25 Nozzle.json"
|
||||
},
|
||||
{
|
||||
"name": "Generic PLA-Silk @Chuanying X1 0.25 Nozzle",
|
||||
"sub_path": "filament/Generic PLA-Silk @Chuanying X1 0.25 Nozzle.json"
|
||||
|
||||
@@ -196,10 +196,6 @@
|
||||
"name": "Generic ABS @CoLiDo X16",
|
||||
"sub_path": "filament/Generic ABS @CoLiDo X16.json"
|
||||
},
|
||||
{
|
||||
"name": "CoLiDo PETG @CoLiDo SR1",
|
||||
"sub_path": "filament/CoLiDo PETG @CoLiDo SR1.json"
|
||||
},
|
||||
{
|
||||
"name": "Generic PETG @CoLiDo DIY 4.0",
|
||||
"sub_path": "filament/Generic PETG @CoLiDo DIY 4.0.json"
|
||||
@@ -208,6 +204,18 @@
|
||||
"name": "Generic PETG @CoLiDo X16",
|
||||
"sub_path": "filament/Generic PETG @CoLiDo X16.json"
|
||||
},
|
||||
{
|
||||
"name": "CoLiDo PETG @CoLiDo SR1",
|
||||
"sub_path": "filament/CoLiDo PETG @CoLiDo SR1.json"
|
||||
},
|
||||
{
|
||||
"name": "Generic PLA @CoLiDo DIY 4.0",
|
||||
"sub_path": "filament/Generic PLA @CoLiDo DIY 4.0.json"
|
||||
},
|
||||
{
|
||||
"name": "Generic PLA @CoLiDo X16",
|
||||
"sub_path": "filament/Generic PLA @CoLiDo X16.json"
|
||||
},
|
||||
{
|
||||
"name": "CoLiDo PLA @CoLiDo SR1",
|
||||
"sub_path": "filament/CoLiDo PLA @CoLiDo SR1.json"
|
||||
@@ -220,14 +228,6 @@
|
||||
"name": "CoLiDo PLA+ @CoLiDo DIY 4.0 V2",
|
||||
"sub_path": "filament/CoLiDo PLA+ @CoLiDo DIY 4.0 V2.json"
|
||||
},
|
||||
{
|
||||
"name": "Generic PLA @CoLiDo DIY 4.0",
|
||||
"sub_path": "filament/Generic PLA @CoLiDo DIY 4.0.json"
|
||||
},
|
||||
{
|
||||
"name": "Generic PLA @CoLiDo X16",
|
||||
"sub_path": "filament/Generic PLA @CoLiDo X16.json"
|
||||
},
|
||||
{
|
||||
"name": "Generic TPU @CoLiDo DIY 4.0",
|
||||
"sub_path": "filament/Generic TPU @CoLiDo DIY 4.0.json"
|
||||
|
||||
+1728
-1728
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,160 @@
|
||||
{
|
||||
"type": "filament",
|
||||
"name": "CR-ABS @Ender-5 Max-all",
|
||||
"inherits": "fdm_filament_abs",
|
||||
"from": "system",
|
||||
"setting_id": "iCeI2obXsgQdrmmd",
|
||||
"instantiation": "true",
|
||||
"activate_air_filtration": [
|
||||
"0"
|
||||
],
|
||||
"additional_cooling_fan_speed": [
|
||||
"0"
|
||||
],
|
||||
"complete_print_exhaust_fan_speed": [
|
||||
"80"
|
||||
],
|
||||
"cool_plate_temp": [
|
||||
"90"
|
||||
],
|
||||
"cool_plate_temp_initial_layer": [
|
||||
"90"
|
||||
],
|
||||
"during_print_exhaust_fan_speed": [
|
||||
"60"
|
||||
],
|
||||
"fan_max_speed": [
|
||||
"30"
|
||||
],
|
||||
"filament_cost": [
|
||||
"15"
|
||||
],
|
||||
"filament_density": [
|
||||
"1.08"
|
||||
],
|
||||
"filament_deretraction_speed": [
|
||||
"35"
|
||||
],
|
||||
"filament_diameter": [
|
||||
"1.75"
|
||||
],
|
||||
"filament_flow_ratio": [
|
||||
"0.93"
|
||||
],
|
||||
"filament_is_support": [
|
||||
"0"
|
||||
],
|
||||
"filament_max_volumetric_speed": [
|
||||
"18"
|
||||
],
|
||||
"filament_minimal_purge_on_wipe_tower": [
|
||||
"15"
|
||||
],
|
||||
"filament_retract_before_wipe": [
|
||||
"nil"
|
||||
],
|
||||
"filament_retract_restart_extra": [
|
||||
"nil"
|
||||
],
|
||||
"filament_retract_when_changing_layer": [
|
||||
"nil"
|
||||
],
|
||||
"filament_retraction_length": [
|
||||
"nil"
|
||||
],
|
||||
"filament_retraction_minimum_travel": [
|
||||
"1"
|
||||
],
|
||||
"filament_retraction_speed": [
|
||||
"35"
|
||||
],
|
||||
"filament_soluble": [
|
||||
"0"
|
||||
],
|
||||
"filament_vendor": [
|
||||
"Creality"
|
||||
],
|
||||
"filament_wipe": [
|
||||
"nil"
|
||||
],
|
||||
"filament_wipe_distance": [
|
||||
"2"
|
||||
],
|
||||
"filament_z_hop": [
|
||||
"nil"
|
||||
],
|
||||
"filament_z_hop_types": [
|
||||
"nil"
|
||||
],
|
||||
"full_fan_speed_layer": [
|
||||
"0"
|
||||
],
|
||||
"hot_plate_temp": [
|
||||
"90"
|
||||
],
|
||||
"hot_plate_temp_initial_layer": [
|
||||
"90"
|
||||
],
|
||||
"nozzle_temperature_range_high": [
|
||||
"280"
|
||||
],
|
||||
"overhang_fan_speed": [
|
||||
"60"
|
||||
],
|
||||
"required_nozzle_HRC": [
|
||||
"0"
|
||||
],
|
||||
"slow_down_layer_time": [
|
||||
"12"
|
||||
],
|
||||
"textured_plate_temp": [
|
||||
"90"
|
||||
],
|
||||
"textured_plate_temp_initial_layer": [
|
||||
"90"
|
||||
],
|
||||
"filament_start_gcode": [
|
||||
"; Filament gcode\n"
|
||||
],
|
||||
"filament_end_gcode": [
|
||||
"; filament end gcode \n"
|
||||
],
|
||||
"activate_chamber_temp_control": "0",
|
||||
"chamber_temperature": "0",
|
||||
"cool_cds_fan_start_at_height": "0.5",
|
||||
"cool_special_cds_fan_speed": "0",
|
||||
"customized_plate_temp": "90",
|
||||
"customized_plate_temp_initial_layer": "90",
|
||||
"default_filament_colour": "\"\"",
|
||||
"enable_overhang_bridge_fan": "1",
|
||||
"enable_pressure_advance": "1",
|
||||
"enable_special_area_additional_cooling_fan": "0",
|
||||
"epoxy_resin_plate_temp": "90",
|
||||
"epoxy_resin_plate_temp_initial_layer": "90",
|
||||
"filament_cooling_final_speed": "3.4",
|
||||
"filament_cooling_initial_speed": "2.2",
|
||||
"filament_cooling_moves": "4",
|
||||
"filament_load_time": "0",
|
||||
"filament_loading_speed": "28",
|
||||
"filament_loading_speed_start": "3",
|
||||
"filament_multitool_ramming": "0",
|
||||
"filament_multitool_ramming_flow": "10",
|
||||
"filament_multitool_ramming_volume": "10",
|
||||
"filament_notes": "\"\"",
|
||||
"filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"",
|
||||
"filament_retract_lift_above": "nil",
|
||||
"filament_retract_lift_below": "nil",
|
||||
"filament_retract_lift_enforce": "nil",
|
||||
"filament_shrink": "100%",
|
||||
"filament_toolchange_delay": "0",
|
||||
"filament_unload_time": "0",
|
||||
"filament_unloading_speed": "90",
|
||||
"filament_unloading_speed_start": "100",
|
||||
"material_flow_dependent_temperature": "0",
|
||||
"material_flow_temp_graph": "[[3.0,230],[5.0,250],[10.0,260]]",
|
||||
"pressure_advance": "0.03",
|
||||
"support_material_interface_fan_speed": "-1",
|
||||
"compatible_printers": [
|
||||
"Creality Ender-5 Max 0.4 nozzle"
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,185 @@
|
||||
{
|
||||
"type": "filament",
|
||||
"name": "CR-Nylon @Ender-5 Max-all",
|
||||
"inherits": "fdm_filament_pa",
|
||||
"from": "system",
|
||||
"setting_id": "HHnHotIUIBzTdckU",
|
||||
"instantiation": "true",
|
||||
"activate_air_filtration": [
|
||||
"0"
|
||||
],
|
||||
"additional_cooling_fan_speed": [
|
||||
"0"
|
||||
],
|
||||
"close_fan_the_first_x_layers": [
|
||||
"1"
|
||||
],
|
||||
"complete_print_exhaust_fan_speed": [
|
||||
"100"
|
||||
],
|
||||
"cool_plate_temp": [
|
||||
"45"
|
||||
],
|
||||
"cool_plate_temp_initial_layer": [
|
||||
"45"
|
||||
],
|
||||
"during_print_exhaust_fan_speed": [
|
||||
"0"
|
||||
],
|
||||
"fan_cooling_layer_time": [
|
||||
"100"
|
||||
],
|
||||
"fan_max_speed": [
|
||||
"100"
|
||||
],
|
||||
"fan_min_speed": [
|
||||
"100"
|
||||
],
|
||||
"filament_cost": [
|
||||
"50"
|
||||
],
|
||||
"filament_density": [
|
||||
"1.24"
|
||||
],
|
||||
"filament_deretraction_speed": [
|
||||
"nil"
|
||||
],
|
||||
"filament_diameter": [
|
||||
"1.75"
|
||||
],
|
||||
"filament_flow_ratio": [
|
||||
"0.9"
|
||||
],
|
||||
"filament_is_support": [
|
||||
"0"
|
||||
],
|
||||
"filament_max_volumetric_speed": [
|
||||
"12"
|
||||
],
|
||||
"filament_minimal_purge_on_wipe_tower": [
|
||||
"15"
|
||||
],
|
||||
"filament_retract_before_wipe": [
|
||||
"nil"
|
||||
],
|
||||
"filament_retract_restart_extra": [
|
||||
"0"
|
||||
],
|
||||
"filament_retract_when_changing_layer": [
|
||||
"nil"
|
||||
],
|
||||
"filament_retraction_length": [
|
||||
"1.5"
|
||||
],
|
||||
"filament_retraction_minimum_travel": [
|
||||
"nil"
|
||||
],
|
||||
"filament_retraction_speed": [
|
||||
"nil"
|
||||
],
|
||||
"filament_soluble": [
|
||||
"0"
|
||||
],
|
||||
"filament_vendor": [
|
||||
"Creality"
|
||||
],
|
||||
"filament_wipe": [
|
||||
"nil"
|
||||
],
|
||||
"filament_wipe_distance": [
|
||||
"nil"
|
||||
],
|
||||
"filament_z_hop": [
|
||||
"0.2"
|
||||
],
|
||||
"filament_z_hop_types": [
|
||||
"nil"
|
||||
],
|
||||
"full_fan_speed_layer": [
|
||||
"0"
|
||||
],
|
||||
"hot_plate_temp": [
|
||||
"45"
|
||||
],
|
||||
"hot_plate_temp_initial_layer": [
|
||||
"45"
|
||||
],
|
||||
"nozzle_temperature": [
|
||||
"250"
|
||||
],
|
||||
"nozzle_temperature_initial_layer": [
|
||||
"250"
|
||||
],
|
||||
"nozzle_temperature_range_high": [
|
||||
"280"
|
||||
],
|
||||
"nozzle_temperature_range_low": [
|
||||
"250"
|
||||
],
|
||||
"overhang_fan_speed": [
|
||||
"50"
|
||||
],
|
||||
"overhang_fan_threshold": [
|
||||
"50%"
|
||||
],
|
||||
"reduce_fan_stop_start_freq": [
|
||||
"1"
|
||||
],
|
||||
"slow_down_for_layer_cooling": [
|
||||
"1"
|
||||
],
|
||||
"slow_down_layer_time": [
|
||||
"8"
|
||||
],
|
||||
"slow_down_min_speed": [
|
||||
"5"
|
||||
],
|
||||
"textured_plate_temp": [
|
||||
"45"
|
||||
],
|
||||
"textured_plate_temp_initial_layer": [
|
||||
"45"
|
||||
],
|
||||
"filament_start_gcode": [
|
||||
"; Filament gcode\n"
|
||||
],
|
||||
"filament_end_gcode": [
|
||||
"; filament end gcode \n"
|
||||
],
|
||||
"activate_chamber_temp_control": "0",
|
||||
"chamber_temperature": "35",
|
||||
"cool_cds_fan_start_at_height": "0.5",
|
||||
"cool_special_cds_fan_speed": "0",
|
||||
"default_filament_colour": "\"\"",
|
||||
"enable_overhang_bridge_fan": "1",
|
||||
"enable_pressure_advance": "1",
|
||||
"enable_special_area_additional_cooling_fan": "0",
|
||||
"epoxy_resin_plate_temp": "45",
|
||||
"epoxy_resin_plate_temp_initial_layer": "45",
|
||||
"filament_cooling_final_speed": "3.4",
|
||||
"filament_cooling_initial_speed": "2.2",
|
||||
"filament_cooling_moves": "4",
|
||||
"filament_load_time": "0",
|
||||
"filament_loading_speed": "28",
|
||||
"filament_loading_speed_start": "3",
|
||||
"filament_multitool_ramming": "0",
|
||||
"filament_multitool_ramming_flow": "10",
|
||||
"filament_multitool_ramming_volume": "10",
|
||||
"filament_notes": "\"\"",
|
||||
"filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"",
|
||||
"filament_retract_lift_above": "0",
|
||||
"filament_retract_lift_below": "0",
|
||||
"filament_retract_lift_enforce": "All Surfaces",
|
||||
"filament_shrink": "100%",
|
||||
"filament_toolchange_delay": "0",
|
||||
"filament_unload_time": "0",
|
||||
"filament_unloading_speed": "90",
|
||||
"filament_unloading_speed_start": "100",
|
||||
"material_flow_dependent_temperature": "0",
|
||||
"material_flow_temp_graph": "[[3.0,210], [10.0,220], [12.0,230]]",
|
||||
"pressure_advance": "0.042",
|
||||
"support_material_interface_fan_speed": "-1",
|
||||
"compatible_printers": [
|
||||
"Creality Ender-5 Max 0.4 nozzle"
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,163 @@
|
||||
{
|
||||
"type": "filament",
|
||||
"name": "CR-PETG @Ender-5 Max-all",
|
||||
"inherits": "fdm_filament_petg",
|
||||
"from": "system",
|
||||
"setting_id": "jMfevCqhjSPahBHJ",
|
||||
"instantiation": "true",
|
||||
"activate_air_filtration": [
|
||||
"0"
|
||||
],
|
||||
"additional_cooling_fan_speed": [
|
||||
"0"
|
||||
],
|
||||
"close_fan_the_first_x_layers": [
|
||||
"1"
|
||||
],
|
||||
"complete_print_exhaust_fan_speed": [
|
||||
"0"
|
||||
],
|
||||
"cool_plate_temp": [
|
||||
"70"
|
||||
],
|
||||
"cool_plate_temp_initial_layer": [
|
||||
"70"
|
||||
],
|
||||
"during_print_exhaust_fan_speed": [
|
||||
"0"
|
||||
],
|
||||
"eng_plate_temp": [
|
||||
"0"
|
||||
],
|
||||
"eng_plate_temp_initial_layer": [
|
||||
"0"
|
||||
],
|
||||
"fan_cooling_layer_time": [
|
||||
"30"
|
||||
],
|
||||
"fan_max_speed": [
|
||||
"40"
|
||||
],
|
||||
"fan_min_speed": [
|
||||
"10"
|
||||
],
|
||||
"filament_cost": [
|
||||
"14"
|
||||
],
|
||||
"filament_density": [
|
||||
"1.23"
|
||||
],
|
||||
"filament_deretraction_speed": [
|
||||
"30"
|
||||
],
|
||||
"filament_flow_ratio": [
|
||||
"0.95"
|
||||
],
|
||||
"filament_is_support": [
|
||||
"0"
|
||||
],
|
||||
"filament_max_volumetric_speed": [
|
||||
"16"
|
||||
],
|
||||
"filament_retract_before_wipe": [
|
||||
"80%"
|
||||
],
|
||||
"filament_retraction_minimum_travel": [
|
||||
"1"
|
||||
],
|
||||
"filament_retraction_speed": [
|
||||
"30"
|
||||
],
|
||||
"filament_type": [
|
||||
"PETG"
|
||||
],
|
||||
"filament_vendor": [
|
||||
"Creality"
|
||||
],
|
||||
"filament_wipe_distance": [
|
||||
"2"
|
||||
],
|
||||
"hot_plate_temp": [
|
||||
"80"
|
||||
],
|
||||
"hot_plate_temp_initial_layer": [
|
||||
"80"
|
||||
],
|
||||
"nozzle_temperature": [
|
||||
"240"
|
||||
],
|
||||
"nozzle_temperature_initial_layer": [
|
||||
"240"
|
||||
],
|
||||
"nozzle_temperature_range_high": [
|
||||
"270"
|
||||
],
|
||||
"nozzle_temperature_range_low": [
|
||||
"220"
|
||||
],
|
||||
"overhang_fan_speed": [
|
||||
"90"
|
||||
],
|
||||
"overhang_fan_threshold": [
|
||||
"25%"
|
||||
],
|
||||
"reduce_fan_stop_start_freq": [
|
||||
"1"
|
||||
],
|
||||
"required_nozzle_HRC": [
|
||||
"0"
|
||||
],
|
||||
"temperature_vitrification": [
|
||||
"80"
|
||||
],
|
||||
"textured_plate_temp": [
|
||||
"80"
|
||||
],
|
||||
"textured_plate_temp_initial_layer": [
|
||||
"80"
|
||||
],
|
||||
"filament_start_gcode": [
|
||||
"; filament start gcode\n"
|
||||
],
|
||||
"activate_chamber_temp_control": "0",
|
||||
"chamber_temperature": "0",
|
||||
"cool_cds_fan_start_at_height": "0.5",
|
||||
"cool_special_cds_fan_speed": "0",
|
||||
"customized_plate_temp": "80",
|
||||
"customized_plate_temp_initial_layer": "80",
|
||||
"default_filament_colour": "\"\"",
|
||||
"enable_overhang_bridge_fan": "1",
|
||||
"enable_pressure_advance": "1",
|
||||
"enable_special_area_additional_cooling_fan": "0",
|
||||
"epoxy_resin_plate_temp": "80",
|
||||
"epoxy_resin_plate_temp_initial_layer": "80",
|
||||
"filament_cooling_final_speed": "3.4",
|
||||
"filament_cooling_initial_speed": "2.2",
|
||||
"filament_cooling_moves": "4",
|
||||
"filament_load_time": "0",
|
||||
"filament_loading_speed": "28",
|
||||
"filament_loading_speed_start": "3",
|
||||
"filament_multitool_ramming": "0",
|
||||
"filament_multitool_ramming_flow": "10",
|
||||
"filament_multitool_ramming_volume": "10",
|
||||
"filament_notes": "\"\"",
|
||||
"filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"",
|
||||
"filament_retract_lift_above": "nil",
|
||||
"filament_retract_lift_below": "nil",
|
||||
"filament_retract_lift_enforce": "nil",
|
||||
"filament_shrink": "100%",
|
||||
"filament_toolchange_delay": "0",
|
||||
"filament_unload_time": "0",
|
||||
"filament_unloading_speed": "90",
|
||||
"filament_unloading_speed_start": "100",
|
||||
"material_flow_dependent_temperature": "0",
|
||||
"material_flow_temp_graph": "[[3.0,220],[5.0,240],[10.0,250]]",
|
||||
"pressure_advance": "0.05",
|
||||
"filament_id": "06101",
|
||||
"support_material_interface_fan_speed": "-1",
|
||||
"compatible_printers": [
|
||||
"Creality Ender-5 Max 0.4 nozzle",
|
||||
"Creality Ender-5 Max 0.6 nozzle",
|
||||
"Creality Ender-5 Max 0.8 nozzle"
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,157 @@
|
||||
{
|
||||
"type": "filament",
|
||||
"name": "CR-PLA @Ender-5 Max-all",
|
||||
"inherits": "fdm_filament_pla",
|
||||
"from": "system",
|
||||
"setting_id": "sU0HCPjQoOLHPmPc",
|
||||
"instantiation": "true",
|
||||
"activate_air_filtration": [
|
||||
"0"
|
||||
],
|
||||
"additional_cooling_fan_speed": [
|
||||
"0"
|
||||
],
|
||||
"complete_print_exhaust_fan_speed": [
|
||||
"80"
|
||||
],
|
||||
"cool_plate_temp": [
|
||||
"45"
|
||||
],
|
||||
"cool_plate_temp_initial_layer": [
|
||||
"45"
|
||||
],
|
||||
"during_print_exhaust_fan_speed": [
|
||||
"60"
|
||||
],
|
||||
"eng_plate_temp": [
|
||||
"50"
|
||||
],
|
||||
"eng_plate_temp_initial_layer": [
|
||||
"50"
|
||||
],
|
||||
"filament_deretraction_speed": [
|
||||
"35"
|
||||
],
|
||||
"filament_diameter": [
|
||||
"1.75"
|
||||
],
|
||||
"filament_flow_ratio": [
|
||||
"0.95"
|
||||
],
|
||||
"filament_is_support": [
|
||||
"0"
|
||||
],
|
||||
"filament_max_volumetric_speed": [
|
||||
"18"
|
||||
],
|
||||
"filament_minimal_purge_on_wipe_tower": [
|
||||
"15"
|
||||
],
|
||||
"filament_retract_before_wipe": [
|
||||
"nil"
|
||||
],
|
||||
"filament_retract_restart_extra": [
|
||||
"nil"
|
||||
],
|
||||
"filament_retract_when_changing_layer": [
|
||||
"nil"
|
||||
],
|
||||
"filament_retraction_length": [
|
||||
"nil"
|
||||
],
|
||||
"filament_retraction_minimum_travel": [
|
||||
"1"
|
||||
],
|
||||
"filament_retraction_speed": [
|
||||
"35"
|
||||
],
|
||||
"filament_soluble": [
|
||||
"0"
|
||||
],
|
||||
"filament_vendor": [
|
||||
"Creality"
|
||||
],
|
||||
"filament_wipe": [
|
||||
"nil"
|
||||
],
|
||||
"filament_wipe_distance": [
|
||||
"2"
|
||||
],
|
||||
"filament_z_hop": [
|
||||
"nil"
|
||||
],
|
||||
"filament_z_hop_types": [
|
||||
"nil"
|
||||
],
|
||||
"full_fan_speed_layer": [
|
||||
"0"
|
||||
],
|
||||
"hot_plate_temp": [
|
||||
"50"
|
||||
],
|
||||
"hot_plate_temp_initial_layer": [
|
||||
"50"
|
||||
],
|
||||
"nozzle_temperature_range_high": [
|
||||
"240"
|
||||
],
|
||||
"required_nozzle_HRC": [
|
||||
"0"
|
||||
],
|
||||
"slow_down_layer_time": [
|
||||
"10"
|
||||
],
|
||||
"slow_down_min_speed": [
|
||||
"20"
|
||||
],
|
||||
"textured_plate_temp": [
|
||||
"45"
|
||||
],
|
||||
"textured_plate_temp_initial_layer": [
|
||||
"50"
|
||||
],
|
||||
"filament_start_gcode": [
|
||||
"; Filament gcode\n"
|
||||
],
|
||||
"filament_end_gcode": [
|
||||
"; filament end gcode \n"
|
||||
],
|
||||
"activate_chamber_temp_control": "0",
|
||||
"chamber_temperature": "0",
|
||||
"cool_cds_fan_start_at_height": "0.5",
|
||||
"cool_special_cds_fan_speed": "0",
|
||||
"customized_plate_temp": "50",
|
||||
"customized_plate_temp_initial_layer": "50",
|
||||
"default_filament_colour": "\"\"",
|
||||
"enable_overhang_bridge_fan": "1",
|
||||
"enable_pressure_advance": "1",
|
||||
"enable_special_area_additional_cooling_fan": "0",
|
||||
"epoxy_resin_plate_temp": "50",
|
||||
"epoxy_resin_plate_temp_initial_layer": "50",
|
||||
"filament_cooling_final_speed": "3.4",
|
||||
"filament_cooling_initial_speed": "2.2",
|
||||
"filament_cooling_moves": "4",
|
||||
"filament_load_time": "0",
|
||||
"filament_loading_speed": "28",
|
||||
"filament_loading_speed_start": "3",
|
||||
"filament_multitool_ramming": "0",
|
||||
"filament_multitool_ramming_flow": "10",
|
||||
"filament_multitool_ramming_volume": "10",
|
||||
"filament_notes": "\"\"",
|
||||
"filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"",
|
||||
"filament_retract_lift_above": "nil",
|
||||
"filament_retract_lift_below": "nil",
|
||||
"filament_retract_lift_enforce": "nil",
|
||||
"filament_shrink": "100%",
|
||||
"filament_toolchange_delay": "0",
|
||||
"filament_unload_time": "0",
|
||||
"filament_unloading_speed": "90",
|
||||
"filament_unloading_speed_start": "100",
|
||||
"material_flow_dependent_temperature": "1",
|
||||
"material_flow_temp_graph": "[[0.5,190],[1.0,220]]",
|
||||
"pressure_advance": "0.04",
|
||||
"support_material_interface_fan_speed": "-1",
|
||||
"compatible_printers": [
|
||||
"Creality Ender-5 Max 0.4 nozzle"
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,157 @@
|
||||
{
|
||||
"type": "filament",
|
||||
"name": "CR-Silk @Ender-5 Max-all",
|
||||
"inherits": "fdm_filament_pla",
|
||||
"from": "system",
|
||||
"setting_id": "vFgKdtdiuqqrL9rk",
|
||||
"instantiation": "true",
|
||||
"activate_air_filtration": [
|
||||
"0"
|
||||
],
|
||||
"additional_cooling_fan_speed": [
|
||||
"0"
|
||||
],
|
||||
"complete_print_exhaust_fan_speed": [
|
||||
"80"
|
||||
],
|
||||
"cool_plate_temp": [
|
||||
"45"
|
||||
],
|
||||
"cool_plate_temp_initial_layer": [
|
||||
"45"
|
||||
],
|
||||
"during_print_exhaust_fan_speed": [
|
||||
"60"
|
||||
],
|
||||
"eng_plate_temp": [
|
||||
"50"
|
||||
],
|
||||
"eng_plate_temp_initial_layer": [
|
||||
"50"
|
||||
],
|
||||
"filament_cost": [
|
||||
"22"
|
||||
],
|
||||
"filament_density": [
|
||||
"1.25"
|
||||
],
|
||||
"filament_deretraction_speed": [
|
||||
"35"
|
||||
],
|
||||
"filament_diameter": [
|
||||
"1.75"
|
||||
],
|
||||
"filament_flow_ratio": [
|
||||
"0.95"
|
||||
],
|
||||
"filament_is_support": [
|
||||
"0"
|
||||
],
|
||||
"filament_minimal_purge_on_wipe_tower": [
|
||||
"15"
|
||||
],
|
||||
"filament_retract_before_wipe": [
|
||||
"90%"
|
||||
],
|
||||
"filament_retract_restart_extra": [
|
||||
"nil"
|
||||
],
|
||||
"filament_retract_when_changing_layer": [
|
||||
"nil"
|
||||
],
|
||||
"filament_retraction_length": [
|
||||
"1"
|
||||
],
|
||||
"filament_retraction_minimum_travel": [
|
||||
"1"
|
||||
],
|
||||
"filament_retraction_speed": [
|
||||
"35"
|
||||
],
|
||||
"filament_soluble": [
|
||||
"0"
|
||||
],
|
||||
"filament_vendor": [
|
||||
"Creality"
|
||||
],
|
||||
"filament_wipe": [
|
||||
"nil"
|
||||
],
|
||||
"filament_wipe_distance": [
|
||||
"2"
|
||||
],
|
||||
"filament_z_hop": [
|
||||
"nil"
|
||||
],
|
||||
"filament_z_hop_types": [
|
||||
"nil"
|
||||
],
|
||||
"full_fan_speed_layer": [
|
||||
"0"
|
||||
],
|
||||
"hot_plate_temp": [
|
||||
"55"
|
||||
],
|
||||
"hot_plate_temp_initial_layer": [
|
||||
"55"
|
||||
],
|
||||
"nozzle_temperature_range_high": [
|
||||
"240"
|
||||
],
|
||||
"required_nozzle_HRC": [
|
||||
"0"
|
||||
],
|
||||
"slow_down_layer_time": [
|
||||
"12"
|
||||
],
|
||||
"slow_down_min_speed": [
|
||||
"20"
|
||||
],
|
||||
"textured_plate_temp": [
|
||||
"55"
|
||||
],
|
||||
"textured_plate_temp_initial_layer": [
|
||||
"55"
|
||||
],
|
||||
"filament_end_gcode": [
|
||||
"; filament end gcode \n"
|
||||
],
|
||||
"activate_chamber_temp_control": "0",
|
||||
"chamber_temperature": "35",
|
||||
"cool_cds_fan_start_at_height": "0.5",
|
||||
"cool_special_cds_fan_speed": "0",
|
||||
"customized_plate_temp": "55",
|
||||
"customized_plate_temp_initial_layer": "55",
|
||||
"default_filament_colour": "\"\"",
|
||||
"enable_overhang_bridge_fan": "1",
|
||||
"enable_pressure_advance": "1",
|
||||
"enable_special_area_additional_cooling_fan": "0",
|
||||
"epoxy_resin_plate_temp": "55",
|
||||
"epoxy_resin_plate_temp_initial_layer": "55",
|
||||
"filament_cooling_final_speed": "3.4",
|
||||
"filament_cooling_initial_speed": "2.2",
|
||||
"filament_cooling_moves": "4",
|
||||
"filament_load_time": "0",
|
||||
"filament_loading_speed": "28",
|
||||
"filament_loading_speed_start": "3",
|
||||
"filament_multitool_ramming": "0",
|
||||
"filament_multitool_ramming_flow": "10",
|
||||
"filament_multitool_ramming_volume": "10",
|
||||
"filament_notes": "\"\"",
|
||||
"filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"",
|
||||
"filament_retract_lift_above": "nil",
|
||||
"filament_retract_lift_below": "nil",
|
||||
"filament_retract_lift_enforce": "nil",
|
||||
"filament_shrink": "100%",
|
||||
"filament_toolchange_delay": "0",
|
||||
"filament_unload_time": "0",
|
||||
"filament_unloading_speed": "90",
|
||||
"filament_unloading_speed_start": "100",
|
||||
"material_flow_dependent_temperature": "0",
|
||||
"material_flow_temp_graph": "[[1.0,190],[1.2,220]]",
|
||||
"pressure_advance": "0.048",
|
||||
"support_material_interface_fan_speed": "-1",
|
||||
"compatible_printers": [
|
||||
"Creality Ender-5 Max 0.4 nozzle"
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,163 @@
|
||||
{
|
||||
"type": "filament",
|
||||
"name": "Generic ABS @Ender-5 Max-all",
|
||||
"inherits": "fdm_filament_abs",
|
||||
"from": "system",
|
||||
"setting_id": "3BjyaE4hGrz7tqnk",
|
||||
"instantiation": "true",
|
||||
"activate_air_filtration": [
|
||||
"0"
|
||||
],
|
||||
"additional_cooling_fan_speed": [
|
||||
"0"
|
||||
],
|
||||
"complete_print_exhaust_fan_speed": [
|
||||
"80"
|
||||
],
|
||||
"cool_plate_temp": [
|
||||
"90"
|
||||
],
|
||||
"cool_plate_temp_initial_layer": [
|
||||
"90"
|
||||
],
|
||||
"during_print_exhaust_fan_speed": [
|
||||
"60"
|
||||
],
|
||||
"fan_max_speed": [
|
||||
"30"
|
||||
],
|
||||
"filament_cost": [
|
||||
"15"
|
||||
],
|
||||
"filament_density": [
|
||||
"1.24"
|
||||
],
|
||||
"filament_deretraction_speed": [
|
||||
"35"
|
||||
],
|
||||
"filament_diameter": [
|
||||
"1.75"
|
||||
],
|
||||
"filament_flow_ratio": [
|
||||
"0.95"
|
||||
],
|
||||
"filament_is_support": [
|
||||
"0"
|
||||
],
|
||||
"filament_max_volumetric_speed": [
|
||||
"18"
|
||||
],
|
||||
"filament_minimal_purge_on_wipe_tower": [
|
||||
"15"
|
||||
],
|
||||
"filament_retract_before_wipe": [
|
||||
"nil"
|
||||
],
|
||||
"filament_retract_restart_extra": [
|
||||
"nil"
|
||||
],
|
||||
"filament_retract_when_changing_layer": [
|
||||
"nil"
|
||||
],
|
||||
"filament_retraction_length": [
|
||||
"nil"
|
||||
],
|
||||
"filament_retraction_minimum_travel": [
|
||||
"1"
|
||||
],
|
||||
"filament_retraction_speed": [
|
||||
"35"
|
||||
],
|
||||
"filament_soluble": [
|
||||
"0"
|
||||
],
|
||||
"filament_vendor": [
|
||||
"Generic"
|
||||
],
|
||||
"filament_wipe": [
|
||||
"nil"
|
||||
],
|
||||
"filament_wipe_distance": [
|
||||
"2"
|
||||
],
|
||||
"filament_z_hop": [
|
||||
"nil"
|
||||
],
|
||||
"filament_z_hop_types": [
|
||||
"nil"
|
||||
],
|
||||
"full_fan_speed_layer": [
|
||||
"0"
|
||||
],
|
||||
"hot_plate_temp": [
|
||||
"90"
|
||||
],
|
||||
"hot_plate_temp_initial_layer": [
|
||||
"90"
|
||||
],
|
||||
"nozzle_temperature_range_high": [
|
||||
"280"
|
||||
],
|
||||
"overhang_fan_speed": [
|
||||
"60"
|
||||
],
|
||||
"reduce_fan_stop_start_freq": [
|
||||
"0"
|
||||
],
|
||||
"required_nozzle_HRC": [
|
||||
"0"
|
||||
],
|
||||
"slow_down_layer_time": [
|
||||
"12"
|
||||
],
|
||||
"textured_plate_temp": [
|
||||
"90"
|
||||
],
|
||||
"textured_plate_temp_initial_layer": [
|
||||
"90"
|
||||
],
|
||||
"filament_start_gcode": [
|
||||
"; Filament gcode\n"
|
||||
],
|
||||
"filament_end_gcode": [
|
||||
"; filament end gcode \n"
|
||||
],
|
||||
"activate_chamber_temp_control": "0",
|
||||
"chamber_temperature": "0",
|
||||
"cool_cds_fan_start_at_height": "0.5",
|
||||
"cool_special_cds_fan_speed": "0",
|
||||
"customized_plate_temp": "90",
|
||||
"customized_plate_temp_initial_layer": "90",
|
||||
"default_filament_colour": "\"\"",
|
||||
"enable_overhang_bridge_fan": "1",
|
||||
"enable_pressure_advance": "1",
|
||||
"enable_special_area_additional_cooling_fan": "0",
|
||||
"epoxy_resin_plate_temp": "90",
|
||||
"epoxy_resin_plate_temp_initial_layer": "90",
|
||||
"filament_cooling_final_speed": "3.4",
|
||||
"filament_cooling_initial_speed": "2.2",
|
||||
"filament_cooling_moves": "4",
|
||||
"filament_load_time": "0",
|
||||
"filament_loading_speed": "28",
|
||||
"filament_loading_speed_start": "3",
|
||||
"filament_multitool_ramming": "0",
|
||||
"filament_multitool_ramming_flow": "10",
|
||||
"filament_multitool_ramming_volume": "10",
|
||||
"filament_notes": "\"\"",
|
||||
"filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"",
|
||||
"filament_retract_lift_above": "nil",
|
||||
"filament_retract_lift_below": "nil",
|
||||
"filament_retract_lift_enforce": "nil",
|
||||
"filament_shrink": "100%",
|
||||
"filament_toolchange_delay": "0",
|
||||
"filament_unload_time": "0",
|
||||
"filament_unloading_speed": "90",
|
||||
"filament_unloading_speed_start": "100",
|
||||
"material_flow_dependent_temperature": "0",
|
||||
"material_flow_temp_graph": "[[3.0,230],[5.0,250],[10.0,260]]",
|
||||
"pressure_advance": "0.034",
|
||||
"support_material_interface_fan_speed": "-1",
|
||||
"compatible_printers": [
|
||||
"Creality Ender-5 Max 0.4 nozzle"
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,175 @@
|
||||
{
|
||||
"type": "filament",
|
||||
"name": "Generic ASA @Ender-5 Max-all",
|
||||
"inherits": "fdm_filament_asa",
|
||||
"from": "system",
|
||||
"setting_id": "1cOFjktr0dBTbYS4",
|
||||
"instantiation": "true",
|
||||
"activate_air_filtration": [
|
||||
"0"
|
||||
],
|
||||
"additional_cooling_fan_speed": [
|
||||
"0"
|
||||
],
|
||||
"close_fan_the_first_x_layers": [
|
||||
"1"
|
||||
],
|
||||
"complete_print_exhaust_fan_speed": [
|
||||
"80"
|
||||
],
|
||||
"cool_plate_temp": [
|
||||
"90"
|
||||
],
|
||||
"cool_plate_temp_initial_layer": [
|
||||
"90"
|
||||
],
|
||||
"during_print_exhaust_fan_speed": [
|
||||
"60"
|
||||
],
|
||||
"eng_plate_temp": [
|
||||
"50"
|
||||
],
|
||||
"eng_plate_temp_initial_layer": [
|
||||
"50"
|
||||
],
|
||||
"fan_cooling_layer_time": [
|
||||
"30"
|
||||
],
|
||||
"fan_max_speed": [
|
||||
"70"
|
||||
],
|
||||
"fan_min_speed": [
|
||||
"20"
|
||||
],
|
||||
"filament_cost": [
|
||||
"30"
|
||||
],
|
||||
"filament_density": [
|
||||
"1.24"
|
||||
],
|
||||
"filament_deretraction_speed": [
|
||||
"35"
|
||||
],
|
||||
"filament_diameter": [
|
||||
"1.75"
|
||||
],
|
||||
"filament_flow_ratio": [
|
||||
"0.93"
|
||||
],
|
||||
"filament_is_support": [
|
||||
"0"
|
||||
],
|
||||
"filament_max_volumetric_speed": [
|
||||
"12"
|
||||
],
|
||||
"filament_minimal_purge_on_wipe_tower": [
|
||||
"15"
|
||||
],
|
||||
"filament_retract_before_wipe": [
|
||||
"100%"
|
||||
],
|
||||
"filament_retract_restart_extra": [
|
||||
"nil"
|
||||
],
|
||||
"filament_retract_when_changing_layer": [
|
||||
"nil"
|
||||
],
|
||||
"filament_retraction_length": [
|
||||
"nil"
|
||||
],
|
||||
"filament_retraction_minimum_travel": [
|
||||
"1"
|
||||
],
|
||||
"filament_retraction_speed": [
|
||||
"35"
|
||||
],
|
||||
"filament_soluble": [
|
||||
"0"
|
||||
],
|
||||
"filament_vendor": [
|
||||
"Generic"
|
||||
],
|
||||
"filament_wipe": [
|
||||
"nil"
|
||||
],
|
||||
"filament_wipe_distance": [
|
||||
"2"
|
||||
],
|
||||
"filament_z_hop": [
|
||||
"nil"
|
||||
],
|
||||
"filament_z_hop_types": [
|
||||
"nil"
|
||||
],
|
||||
"full_fan_speed_layer": [
|
||||
"0"
|
||||
],
|
||||
"hot_plate_temp": [
|
||||
"90"
|
||||
],
|
||||
"hot_plate_temp_initial_layer": [
|
||||
"90"
|
||||
],
|
||||
"nozzle_temperature_range_high": [
|
||||
"280"
|
||||
],
|
||||
"reduce_fan_stop_start_freq": [
|
||||
"0"
|
||||
],
|
||||
"required_nozzle_HRC": [
|
||||
"0"
|
||||
],
|
||||
"slow_down_layer_time": [
|
||||
"12"
|
||||
],
|
||||
"textured_plate_temp": [
|
||||
"90"
|
||||
],
|
||||
"textured_plate_temp_initial_layer": [
|
||||
"90"
|
||||
],
|
||||
"filament_start_gcode": [
|
||||
"; filament start gcode\n"
|
||||
],
|
||||
"filament_end_gcode": [
|
||||
"; filament end gcode \n"
|
||||
],
|
||||
"activate_chamber_temp_control": "0",
|
||||
"chamber_temperature": "55",
|
||||
"cool_cds_fan_start_at_height": "0.5",
|
||||
"cool_special_cds_fan_speed": "0",
|
||||
"customized_plate_temp": "90",
|
||||
"customized_plate_temp_initial_layer": "90",
|
||||
"default_filament_colour": "\"\"",
|
||||
"enable_overhang_bridge_fan": "1",
|
||||
"enable_pressure_advance": "1",
|
||||
"enable_special_area_additional_cooling_fan": "0",
|
||||
"epoxy_resin_plate_temp": "90",
|
||||
"epoxy_resin_plate_temp_initial_layer": "90",
|
||||
"filament_cooling_final_speed": "3.4",
|
||||
"filament_cooling_initial_speed": "2.2",
|
||||
"filament_cooling_moves": "4",
|
||||
"filament_load_time": "0",
|
||||
"filament_loading_speed": "28",
|
||||
"filament_loading_speed_start": "3",
|
||||
"filament_multitool_ramming": "0",
|
||||
"filament_multitool_ramming_flow": "10",
|
||||
"filament_multitool_ramming_volume": "10",
|
||||
"filament_notes": "\"\"",
|
||||
"filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"",
|
||||
"filament_retract_lift_above": "nil",
|
||||
"filament_retract_lift_below": "nil",
|
||||
"filament_retract_lift_enforce": "nil",
|
||||
"filament_shrink": "100%",
|
||||
"filament_toolchange_delay": "0",
|
||||
"filament_unload_time": "0",
|
||||
"filament_unloading_speed": "90",
|
||||
"filament_unloading_speed_start": "100",
|
||||
"material_flow_dependent_temperature": "0",
|
||||
"material_flow_temp_graph": "[[3.0,240],[8.0,250],[12.0,260]]",
|
||||
"pressure_advance": "0.03",
|
||||
"support_material_interface_fan_speed": "-1",
|
||||
"compatible_printers": [
|
||||
"Creality Ender-5 Max 0.4 nozzle"
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,163 @@
|
||||
{
|
||||
"type": "filament",
|
||||
"name": "Generic PETG @Ender-5 Max-all",
|
||||
"inherits": "fdm_filament_petg",
|
||||
"from": "system",
|
||||
"setting_id": "yNgF407ERXuU7LHE",
|
||||
"instantiation": "true",
|
||||
"activate_air_filtration": [
|
||||
"0"
|
||||
],
|
||||
"additional_cooling_fan_speed": [
|
||||
"0"
|
||||
],
|
||||
"close_fan_the_first_x_layers": [
|
||||
"1"
|
||||
],
|
||||
"complete_print_exhaust_fan_speed": [
|
||||
"0"
|
||||
],
|
||||
"cool_plate_temp": [
|
||||
"70"
|
||||
],
|
||||
"cool_plate_temp_initial_layer": [
|
||||
"70"
|
||||
],
|
||||
"during_print_exhaust_fan_speed": [
|
||||
"0"
|
||||
],
|
||||
"eng_plate_temp": [
|
||||
"0"
|
||||
],
|
||||
"eng_plate_temp_initial_layer": [
|
||||
"0"
|
||||
],
|
||||
"fan_cooling_layer_time": [
|
||||
"30"
|
||||
],
|
||||
"fan_max_speed": [
|
||||
"60"
|
||||
],
|
||||
"fan_min_speed": [
|
||||
"20"
|
||||
],
|
||||
"filament_cost": [
|
||||
"14"
|
||||
],
|
||||
"filament_density": [
|
||||
"1.24"
|
||||
],
|
||||
"filament_deretraction_speed": [
|
||||
"40"
|
||||
],
|
||||
"filament_flow_ratio": [
|
||||
"0.95"
|
||||
],
|
||||
"filament_is_support": [
|
||||
"0"
|
||||
],
|
||||
"filament_max_volumetric_speed": [
|
||||
"14"
|
||||
],
|
||||
"filament_retract_before_wipe": [
|
||||
"90%"
|
||||
],
|
||||
"filament_retraction_length": [
|
||||
"0.4"
|
||||
],
|
||||
"filament_retraction_minimum_travel": [
|
||||
"1"
|
||||
],
|
||||
"filament_retraction_speed": [
|
||||
"40"
|
||||
],
|
||||
"filament_type": [
|
||||
"PETG"
|
||||
],
|
||||
"filament_wipe_distance": [
|
||||
"2"
|
||||
],
|
||||
"hot_plate_temp": [
|
||||
"80"
|
||||
],
|
||||
"hot_plate_temp_initial_layer": [
|
||||
"80"
|
||||
],
|
||||
"nozzle_temperature": [
|
||||
"240"
|
||||
],
|
||||
"nozzle_temperature_initial_layer": [
|
||||
"240"
|
||||
],
|
||||
"nozzle_temperature_range_high": [
|
||||
"270"
|
||||
],
|
||||
"nozzle_temperature_range_low": [
|
||||
"220"
|
||||
],
|
||||
"overhang_fan_speed": [
|
||||
"90"
|
||||
],
|
||||
"overhang_fan_threshold": [
|
||||
"25%"
|
||||
],
|
||||
"reduce_fan_stop_start_freq": [
|
||||
"1"
|
||||
],
|
||||
"required_nozzle_HRC": [
|
||||
"0"
|
||||
],
|
||||
"slow_down_layer_time": [
|
||||
"12"
|
||||
],
|
||||
"temperature_vitrification": [
|
||||
"80"
|
||||
],
|
||||
"textured_plate_temp": [
|
||||
"80"
|
||||
],
|
||||
"textured_plate_temp_initial_layer": [
|
||||
"80"
|
||||
],
|
||||
"filament_start_gcode": [
|
||||
"; filament start gcode\n"
|
||||
],
|
||||
"activate_chamber_temp_control": "0",
|
||||
"chamber_temperature": "0",
|
||||
"cool_cds_fan_start_at_height": "0.5",
|
||||
"cool_special_cds_fan_speed": "0",
|
||||
"customized_plate_temp": "80",
|
||||
"customized_plate_temp_initial_layer": "80",
|
||||
"default_filament_colour": "\"\"",
|
||||
"enable_overhang_bridge_fan": "1",
|
||||
"enable_pressure_advance": "1",
|
||||
"enable_special_area_additional_cooling_fan": "0",
|
||||
"epoxy_resin_plate_temp": "80",
|
||||
"epoxy_resin_plate_temp_initial_layer": "80",
|
||||
"filament_cooling_final_speed": "3.4",
|
||||
"filament_cooling_initial_speed": "2.2",
|
||||
"filament_cooling_moves": "4",
|
||||
"filament_load_time": "0",
|
||||
"filament_loading_speed": "28",
|
||||
"filament_loading_speed_start": "3",
|
||||
"filament_multitool_ramming": "0",
|
||||
"filament_multitool_ramming_flow": "10",
|
||||
"filament_multitool_ramming_volume": "10",
|
||||
"filament_notes": "\"\"",
|
||||
"filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"",
|
||||
"filament_retract_lift_above": "nil",
|
||||
"filament_retract_lift_below": "nil",
|
||||
"filament_retract_lift_enforce": "nil",
|
||||
"filament_shrink": "100%",
|
||||
"filament_toolchange_delay": "0",
|
||||
"filament_unload_time": "0",
|
||||
"filament_unloading_speed": "90",
|
||||
"filament_unloading_speed_start": "100",
|
||||
"material_flow_dependent_temperature": "0",
|
||||
"material_flow_temp_graph": "[[0.8,230],[1.0,240]]",
|
||||
"pressure_advance": "0.064",
|
||||
"support_material_interface_fan_speed": "-1",
|
||||
"compatible_printers": [
|
||||
"Creality Ender-5 Max 0.4 nozzle"
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,161 @@
|
||||
{
|
||||
"type": "filament",
|
||||
"name": "Generic PLA @Ender-5 Max-all",
|
||||
"inherits": "fdm_filament_pla",
|
||||
"from": "system",
|
||||
"setting_id": "ubfcxetXGj6agAoi",
|
||||
"instantiation": "true",
|
||||
"activate_air_filtration": [
|
||||
"0"
|
||||
],
|
||||
"additional_cooling_fan_speed": [
|
||||
"0"
|
||||
],
|
||||
"complete_print_exhaust_fan_speed": [
|
||||
"0"
|
||||
],
|
||||
"cool_plate_temp": [
|
||||
"45"
|
||||
],
|
||||
"cool_plate_temp_initial_layer": [
|
||||
"45"
|
||||
],
|
||||
"during_print_exhaust_fan_speed": [
|
||||
"0"
|
||||
],
|
||||
"eng_plate_temp": [
|
||||
"50"
|
||||
],
|
||||
"eng_plate_temp_initial_layer": [
|
||||
"50"
|
||||
],
|
||||
"filament_deretraction_speed": [
|
||||
"35"
|
||||
],
|
||||
"filament_diameter": [
|
||||
"1.75"
|
||||
],
|
||||
"filament_flow_ratio": [
|
||||
"0.95"
|
||||
],
|
||||
"filament_is_support": [
|
||||
"0"
|
||||
],
|
||||
"filament_max_volumetric_speed": [
|
||||
"14"
|
||||
],
|
||||
"filament_minimal_purge_on_wipe_tower": [
|
||||
"15"
|
||||
],
|
||||
"filament_retract_before_wipe": [
|
||||
"80%"
|
||||
],
|
||||
"filament_retract_restart_extra": [
|
||||
"nil"
|
||||
],
|
||||
"filament_retract_when_changing_layer": [
|
||||
"nil"
|
||||
],
|
||||
"filament_retraction_length": [
|
||||
"0.8"
|
||||
],
|
||||
"filament_retraction_minimum_travel": [
|
||||
"1"
|
||||
],
|
||||
"filament_retraction_speed": [
|
||||
"35"
|
||||
],
|
||||
"filament_soluble": [
|
||||
"0"
|
||||
],
|
||||
"filament_vendor": [
|
||||
"Generic"
|
||||
],
|
||||
"filament_wipe": [
|
||||
"nil"
|
||||
],
|
||||
"filament_wipe_distance": [
|
||||
"2"
|
||||
],
|
||||
"filament_z_hop": [
|
||||
"nil"
|
||||
],
|
||||
"filament_z_hop_types": [
|
||||
"nil"
|
||||
],
|
||||
"full_fan_speed_layer": [
|
||||
"0"
|
||||
],
|
||||
"hot_plate_temp": [
|
||||
"55"
|
||||
],
|
||||
"hot_plate_temp_initial_layer": [
|
||||
"55"
|
||||
],
|
||||
"nozzle_temperature": [
|
||||
"210"
|
||||
],
|
||||
"nozzle_temperature_initial_layer": [
|
||||
"210"
|
||||
],
|
||||
"nozzle_temperature_range_high": [
|
||||
"240"
|
||||
],
|
||||
"required_nozzle_HRC": [
|
||||
"0"
|
||||
],
|
||||
"slow_down_layer_time": [
|
||||
"12"
|
||||
],
|
||||
"slow_down_min_speed": [
|
||||
"20"
|
||||
],
|
||||
"textured_plate_temp": [
|
||||
"55"
|
||||
],
|
||||
"textured_plate_temp_initial_layer": [
|
||||
"55"
|
||||
],
|
||||
"filament_end_gcode": [
|
||||
"; filament end gcode \n"
|
||||
],
|
||||
"activate_chamber_temp_control": "0",
|
||||
"chamber_temperature": "0",
|
||||
"cool_cds_fan_start_at_height": "0.5",
|
||||
"cool_special_cds_fan_speed": "0",
|
||||
"customized_plate_temp": "55",
|
||||
"customized_plate_temp_initial_layer": "55",
|
||||
"default_filament_colour": "\"\"",
|
||||
"enable_overhang_bridge_fan": "1",
|
||||
"enable_pressure_advance": "1",
|
||||
"enable_special_area_additional_cooling_fan": "0",
|
||||
"epoxy_resin_plate_temp": "55",
|
||||
"epoxy_resin_plate_temp_initial_layer": "55",
|
||||
"filament_cooling_final_speed": "3.4",
|
||||
"filament_cooling_initial_speed": "2.2",
|
||||
"filament_cooling_moves": "4",
|
||||
"filament_load_time": "0",
|
||||
"filament_loading_speed": "28",
|
||||
"filament_loading_speed_start": "3",
|
||||
"filament_multitool_ramming": "0",
|
||||
"filament_multitool_ramming_flow": "10",
|
||||
"filament_multitool_ramming_volume": "10",
|
||||
"filament_notes": "\"\"",
|
||||
"filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"",
|
||||
"filament_retract_lift_above": "nil",
|
||||
"filament_retract_lift_below": "nil",
|
||||
"filament_retract_lift_enforce": "nil",
|
||||
"filament_shrink": "100%",
|
||||
"filament_shrinkage_compensation_z": "100%",
|
||||
"filament_toolchange_delay": "0",
|
||||
"filament_unload_time": "0",
|
||||
"filament_unloading_speed": "90",
|
||||
"filament_unloading_speed_start": "100",
|
||||
"material_flow_dependent_temperature": "0",
|
||||
"material_flow_temp_graph": "[[0.8,190],[1.0,210]]",
|
||||
"pressure_advance": "0.04",
|
||||
"support_material_interface_fan_speed": "-1",
|
||||
"compatible_printers": [
|
||||
"Creality Ender-5 Max 0.4 nozzle"
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,161 @@
|
||||
{
|
||||
"type": "filament",
|
||||
"name": "Generic PLA-CF @Ender-5 Max-all",
|
||||
"inherits": "fdm_filament_pla",
|
||||
"from": "system",
|
||||
"setting_id": "AHrCSGRui6sRCmQx",
|
||||
"instantiation": "true",
|
||||
"activate_air_filtration": [
|
||||
"0"
|
||||
],
|
||||
"additional_cooling_fan_speed": [
|
||||
"0"
|
||||
],
|
||||
"complete_print_exhaust_fan_speed": [
|
||||
"0"
|
||||
],
|
||||
"cool_plate_temp": [
|
||||
"45"
|
||||
],
|
||||
"cool_plate_temp_initial_layer": [
|
||||
"45"
|
||||
],
|
||||
"during_print_exhaust_fan_speed": [
|
||||
"0"
|
||||
],
|
||||
"eng_plate_temp": [
|
||||
"50"
|
||||
],
|
||||
"eng_plate_temp_initial_layer": [
|
||||
"50"
|
||||
],
|
||||
"filament_cost": [
|
||||
"30"
|
||||
],
|
||||
"filament_deretraction_speed": [
|
||||
"35"
|
||||
],
|
||||
"filament_diameter": [
|
||||
"1.75"
|
||||
],
|
||||
"filament_flow_ratio": [
|
||||
"0.95"
|
||||
],
|
||||
"filament_is_support": [
|
||||
"0"
|
||||
],
|
||||
"filament_max_volumetric_speed": [
|
||||
"18"
|
||||
],
|
||||
"filament_minimal_purge_on_wipe_tower": [
|
||||
"15"
|
||||
],
|
||||
"filament_retract_before_wipe": [
|
||||
"nil"
|
||||
],
|
||||
"filament_retract_restart_extra": [
|
||||
"nil"
|
||||
],
|
||||
"filament_retract_when_changing_layer": [
|
||||
"nil"
|
||||
],
|
||||
"filament_retraction_length": [
|
||||
"nil"
|
||||
],
|
||||
"filament_retraction_minimum_travel": [
|
||||
"1"
|
||||
],
|
||||
"filament_retraction_speed": [
|
||||
"35"
|
||||
],
|
||||
"filament_soluble": [
|
||||
"0"
|
||||
],
|
||||
"filament_type": [
|
||||
"PLA-CF"
|
||||
],
|
||||
"filament_vendor": [
|
||||
"Generic"
|
||||
],
|
||||
"filament_wipe": [
|
||||
"nil"
|
||||
],
|
||||
"filament_wipe_distance": [
|
||||
"2"
|
||||
],
|
||||
"filament_z_hop": [
|
||||
"nil"
|
||||
],
|
||||
"filament_z_hop_types": [
|
||||
"nil"
|
||||
],
|
||||
"full_fan_speed_layer": [
|
||||
"0"
|
||||
],
|
||||
"hot_plate_temp": [
|
||||
"50"
|
||||
],
|
||||
"hot_plate_temp_initial_layer": [
|
||||
"50"
|
||||
],
|
||||
"nozzle_temperature_range_high": [
|
||||
"240"
|
||||
],
|
||||
"required_nozzle_HRC": [
|
||||
"0"
|
||||
],
|
||||
"slow_down_layer_time": [
|
||||
"10"
|
||||
],
|
||||
"slow_down_min_speed": [
|
||||
"20"
|
||||
],
|
||||
"textured_plate_temp": [
|
||||
"50"
|
||||
],
|
||||
"textured_plate_temp_initial_layer": [
|
||||
"50"
|
||||
],
|
||||
"filament_end_gcode": [
|
||||
"; filament end gcode \n"
|
||||
],
|
||||
"activate_chamber_temp_control": "0",
|
||||
"chamber_temperature": "0",
|
||||
"cool_cds_fan_start_at_height": "0.5",
|
||||
"cool_special_cds_fan_speed": "0",
|
||||
"customized_plate_temp": "50",
|
||||
"customized_plate_temp_initial_layer": "50",
|
||||
"default_filament_colour": "\"\"",
|
||||
"enable_overhang_bridge_fan": "1",
|
||||
"enable_pressure_advance": "1",
|
||||
"enable_special_area_additional_cooling_fan": "0",
|
||||
"epoxy_resin_plate_temp": "50",
|
||||
"epoxy_resin_plate_temp_initial_layer": "50",
|
||||
"filament_cooling_final_speed": "3.4",
|
||||
"filament_cooling_initial_speed": "2.2",
|
||||
"filament_cooling_moves": "4",
|
||||
"filament_load_time": "0",
|
||||
"filament_loading_speed": "28",
|
||||
"filament_loading_speed_start": "3",
|
||||
"filament_multitool_ramming": "0",
|
||||
"filament_multitool_ramming_flow": "10",
|
||||
"filament_multitool_ramming_volume": "10",
|
||||
"filament_notes": "\"\"",
|
||||
"filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"",
|
||||
"filament_retract_lift_above": "nil",
|
||||
"filament_retract_lift_below": "nil",
|
||||
"filament_retract_lift_enforce": "nil",
|
||||
"filament_shrink": "100%",
|
||||
"filament_shrinkage_compensation_z": "100%",
|
||||
"filament_toolchange_delay": "0",
|
||||
"filament_unload_time": "0",
|
||||
"filament_unloading_speed": "90",
|
||||
"filament_unloading_speed_start": "100",
|
||||
"material_flow_dependent_temperature": "0",
|
||||
"material_flow_temp_graph": "[[1.0,190],[1.2,220]]",
|
||||
"pressure_advance": "0.03",
|
||||
"support_material_interface_fan_speed": "-1",
|
||||
"compatible_printers": [
|
||||
"Creality Ender-5 Max 0.4 nozzle"
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,155 @@
|
||||
{
|
||||
"type": "filament",
|
||||
"name": "Generic PLA-Silk @Ender-5 Max-all",
|
||||
"inherits": "fdm_filament_pla",
|
||||
"from": "system",
|
||||
"setting_id": "zIrKl9P6Aer6sbiS",
|
||||
"instantiation": "true",
|
||||
"activate_air_filtration": [
|
||||
"0"
|
||||
],
|
||||
"additional_cooling_fan_speed": [
|
||||
"0"
|
||||
],
|
||||
"complete_print_exhaust_fan_speed": [
|
||||
"0"
|
||||
],
|
||||
"cool_plate_temp": [
|
||||
"45"
|
||||
],
|
||||
"cool_plate_temp_initial_layer": [
|
||||
"45"
|
||||
],
|
||||
"during_print_exhaust_fan_speed": [
|
||||
"0"
|
||||
],
|
||||
"eng_plate_temp": [
|
||||
"50"
|
||||
],
|
||||
"eng_plate_temp_initial_layer": [
|
||||
"50"
|
||||
],
|
||||
"filament_deretraction_speed": [
|
||||
"30"
|
||||
],
|
||||
"filament_diameter": [
|
||||
"1.75"
|
||||
],
|
||||
"filament_flow_ratio": [
|
||||
"0.95"
|
||||
],
|
||||
"filament_is_support": [
|
||||
"0"
|
||||
],
|
||||
"filament_max_volumetric_speed": [
|
||||
"10"
|
||||
],
|
||||
"filament_minimal_purge_on_wipe_tower": [
|
||||
"15"
|
||||
],
|
||||
"filament_retract_before_wipe": [
|
||||
"80%"
|
||||
],
|
||||
"filament_retract_restart_extra": [
|
||||
"nil"
|
||||
],
|
||||
"filament_retract_when_changing_layer": [
|
||||
"nil"
|
||||
],
|
||||
"filament_retraction_length": [
|
||||
"0.8"
|
||||
],
|
||||
"filament_retraction_minimum_travel": [
|
||||
"1"
|
||||
],
|
||||
"filament_retraction_speed": [
|
||||
"30"
|
||||
],
|
||||
"filament_soluble": [
|
||||
"0"
|
||||
],
|
||||
"filament_vendor": [
|
||||
"Generic"
|
||||
],
|
||||
"filament_wipe": [
|
||||
"nil"
|
||||
],
|
||||
"filament_wipe_distance": [
|
||||
"2"
|
||||
],
|
||||
"filament_z_hop": [
|
||||
"nil"
|
||||
],
|
||||
"filament_z_hop_types": [
|
||||
"nil"
|
||||
],
|
||||
"full_fan_speed_layer": [
|
||||
"0"
|
||||
],
|
||||
"hot_plate_temp": [
|
||||
"55"
|
||||
],
|
||||
"hot_plate_temp_initial_layer": [
|
||||
"55"
|
||||
],
|
||||
"nozzle_temperature_range_high": [
|
||||
"240"
|
||||
],
|
||||
"required_nozzle_HRC": [
|
||||
"0"
|
||||
],
|
||||
"slow_down_layer_time": [
|
||||
"14"
|
||||
],
|
||||
"slow_down_min_speed": [
|
||||
"20"
|
||||
],
|
||||
"textured_plate_temp": [
|
||||
"55"
|
||||
],
|
||||
"textured_plate_temp_initial_layer": [
|
||||
"55"
|
||||
],
|
||||
"filament_end_gcode": [
|
||||
"; filament end gcode \n"
|
||||
],
|
||||
"activate_chamber_temp_control": "0",
|
||||
"chamber_temperature": "0",
|
||||
"cool_cds_fan_start_at_height": "0.5",
|
||||
"cool_special_cds_fan_speed": "0",
|
||||
"customized_plate_temp": "55",
|
||||
"customized_plate_temp_initial_layer": "55",
|
||||
"default_filament_colour": "\"\"",
|
||||
"enable_overhang_bridge_fan": "1",
|
||||
"enable_pressure_advance": "1",
|
||||
"enable_special_area_additional_cooling_fan": "0",
|
||||
"epoxy_resin_plate_temp": "55",
|
||||
"epoxy_resin_plate_temp_initial_layer": "55",
|
||||
"filament_cooling_final_speed": "3.4",
|
||||
"filament_cooling_initial_speed": "2.2",
|
||||
"filament_cooling_moves": "4",
|
||||
"filament_load_time": "0",
|
||||
"filament_loading_speed": "28",
|
||||
"filament_loading_speed_start": "3",
|
||||
"filament_multitool_ramming": "0",
|
||||
"filament_multitool_ramming_flow": "10",
|
||||
"filament_multitool_ramming_volume": "10",
|
||||
"filament_notes": "\"\"",
|
||||
"filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"",
|
||||
"filament_retract_lift_above": "nil",
|
||||
"filament_retract_lift_below": "nil",
|
||||
"filament_retract_lift_enforce": "nil",
|
||||
"filament_shrink": "100%",
|
||||
"filament_shrinkage_compensation_z": "100%",
|
||||
"filament_toolchange_delay": "0",
|
||||
"filament_unload_time": "0",
|
||||
"filament_unloading_speed": "90",
|
||||
"filament_unloading_speed_start": "100",
|
||||
"material_flow_dependent_temperature": "0",
|
||||
"material_flow_temp_graph": "[[0.8,190],[1.0,220]]",
|
||||
"pressure_advance": "0.044",
|
||||
"support_material_interface_fan_speed": "-1",
|
||||
"compatible_printers": [
|
||||
"Creality Ender-5 Max 0.4 nozzle"
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,166 @@
|
||||
{
|
||||
"type": "filament",
|
||||
"name": "Generic TPU @Ender-5 Max-all",
|
||||
"inherits": "fdm_filament_tpu",
|
||||
"from": "system",
|
||||
"setting_id": "KPUcdZyegXYeyHOL",
|
||||
"instantiation": "true",
|
||||
"activate_air_filtration": [
|
||||
"0"
|
||||
],
|
||||
"additional_cooling_fan_speed": [
|
||||
"0"
|
||||
],
|
||||
"complete_print_exhaust_fan_speed": [
|
||||
"0"
|
||||
],
|
||||
"cool_plate_temp": [
|
||||
"45"
|
||||
],
|
||||
"cool_plate_temp_initial_layer": [
|
||||
"45"
|
||||
],
|
||||
"during_print_exhaust_fan_speed": [
|
||||
"0"
|
||||
],
|
||||
"eng_plate_temp": [
|
||||
"35"
|
||||
],
|
||||
"eng_plate_temp_initial_layer": [
|
||||
"35"
|
||||
],
|
||||
"filament_cost": [
|
||||
"25"
|
||||
],
|
||||
"filament_deretraction_speed": [
|
||||
"35"
|
||||
],
|
||||
"filament_diameter": [
|
||||
"1.75"
|
||||
],
|
||||
"filament_flow_ratio": [
|
||||
"1"
|
||||
],
|
||||
"filament_is_support": [
|
||||
"0"
|
||||
],
|
||||
"filament_max_volumetric_speed": [
|
||||
"2"
|
||||
],
|
||||
"filament_minimal_purge_on_wipe_tower": [
|
||||
"15"
|
||||
],
|
||||
"filament_retract_before_wipe": [
|
||||
"nil"
|
||||
],
|
||||
"filament_retract_restart_extra": [
|
||||
"nil"
|
||||
],
|
||||
"filament_retract_when_changing_layer": [
|
||||
"nil"
|
||||
],
|
||||
"filament_retraction_length": [
|
||||
"1"
|
||||
],
|
||||
"filament_retraction_minimum_travel": [
|
||||
"2"
|
||||
],
|
||||
"filament_retraction_speed": [
|
||||
"35"
|
||||
],
|
||||
"filament_soluble": [
|
||||
"0"
|
||||
],
|
||||
"filament_vendor": [
|
||||
"Generic"
|
||||
],
|
||||
"filament_wipe": [
|
||||
"nil"
|
||||
],
|
||||
"filament_wipe_distance": [
|
||||
"2"
|
||||
],
|
||||
"filament_z_hop": [
|
||||
"nil"
|
||||
],
|
||||
"filament_z_hop_types": [
|
||||
"nil"
|
||||
],
|
||||
"full_fan_speed_layer": [
|
||||
"0"
|
||||
],
|
||||
"hot_plate_temp": [
|
||||
"50"
|
||||
],
|
||||
"hot_plate_temp_initial_layer": [
|
||||
"50"
|
||||
],
|
||||
"nozzle_temperature": [
|
||||
"210"
|
||||
],
|
||||
"nozzle_temperature_initial_layer": [
|
||||
"210"
|
||||
],
|
||||
"nozzle_temperature_range_high": [
|
||||
"220"
|
||||
],
|
||||
"overhang_fan_threshold": [
|
||||
"50%"
|
||||
],
|
||||
"required_nozzle_HRC": [
|
||||
"0"
|
||||
],
|
||||
"slow_down_layer_time": [
|
||||
"10"
|
||||
],
|
||||
"slow_down_min_speed": [
|
||||
"10"
|
||||
],
|
||||
"textured_plate_temp": [
|
||||
"50"
|
||||
],
|
||||
"textured_plate_temp_initial_layer": [
|
||||
"50"
|
||||
],
|
||||
"filament_end_gcode": [
|
||||
"; filament end gcode \n"
|
||||
],
|
||||
"activate_chamber_temp_control": "0",
|
||||
"chamber_temperature": "0",
|
||||
"cool_cds_fan_start_at_height": "0.5",
|
||||
"cool_special_cds_fan_speed": "0",
|
||||
"customized_plate_temp": "50",
|
||||
"customized_plate_temp_initial_layer": "50",
|
||||
"default_filament_colour": "\"\"",
|
||||
"enable_overhang_bridge_fan": "1",
|
||||
"enable_pressure_advance": "1",
|
||||
"enable_special_area_additional_cooling_fan": "0",
|
||||
"epoxy_resin_plate_temp": "50",
|
||||
"epoxy_resin_plate_temp_initial_layer": "50",
|
||||
"filament_cooling_final_speed": "3.4",
|
||||
"filament_cooling_initial_speed": "2.2",
|
||||
"filament_cooling_moves": "4",
|
||||
"filament_load_time": "0",
|
||||
"filament_loading_speed": "28",
|
||||
"filament_loading_speed_start": "3",
|
||||
"filament_multitool_ramming": "0",
|
||||
"filament_multitool_ramming_flow": "10",
|
||||
"filament_multitool_ramming_volume": "10",
|
||||
"filament_notes": "\"\"",
|
||||
"filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"",
|
||||
"filament_retract_lift_above": "nil",
|
||||
"filament_retract_lift_below": "nil",
|
||||
"filament_retract_lift_enforce": "nil",
|
||||
"filament_shrink": "100%",
|
||||
"filament_toolchange_delay": "0",
|
||||
"filament_unload_time": "0",
|
||||
"filament_unloading_speed": "90",
|
||||
"filament_unloading_speed_start": "100",
|
||||
"material_flow_dependent_temperature": "0",
|
||||
"material_flow_temp_graph": "[[3.0,210], [10.0,220], [12.0,230]]",
|
||||
"pressure_advance": "0.4",
|
||||
"support_material_interface_fan_speed": "-1",
|
||||
"compatible_printers": [
|
||||
"Creality Ender-5 Max 0.4 nozzle"
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,175 @@
|
||||
{
|
||||
"type": "filament",
|
||||
"name": "HP-ASA @Ender-5 Max-all",
|
||||
"inherits": "fdm_filament_asa",
|
||||
"from": "system",
|
||||
"setting_id": "JzsojF2Um23vm2qT",
|
||||
"instantiation": "true",
|
||||
"activate_air_filtration": [
|
||||
"0"
|
||||
],
|
||||
"additional_cooling_fan_speed": [
|
||||
"0"
|
||||
],
|
||||
"close_fan_the_first_x_layers": [
|
||||
"1"
|
||||
],
|
||||
"complete_print_exhaust_fan_speed": [
|
||||
"80"
|
||||
],
|
||||
"cool_plate_temp": [
|
||||
"90"
|
||||
],
|
||||
"cool_plate_temp_initial_layer": [
|
||||
"90"
|
||||
],
|
||||
"during_print_exhaust_fan_speed": [
|
||||
"60"
|
||||
],
|
||||
"eng_plate_temp": [
|
||||
"50"
|
||||
],
|
||||
"eng_plate_temp_initial_layer": [
|
||||
"50"
|
||||
],
|
||||
"fan_cooling_layer_time": [
|
||||
"30"
|
||||
],
|
||||
"fan_max_speed": [
|
||||
"50"
|
||||
],
|
||||
"fan_min_speed": [
|
||||
"20"
|
||||
],
|
||||
"filament_cost": [
|
||||
"29"
|
||||
],
|
||||
"filament_density": [
|
||||
"1.15"
|
||||
],
|
||||
"filament_deretraction_speed": [
|
||||
"35"
|
||||
],
|
||||
"filament_diameter": [
|
||||
"1.75"
|
||||
],
|
||||
"filament_flow_ratio": [
|
||||
"0.88"
|
||||
],
|
||||
"filament_is_support": [
|
||||
"0"
|
||||
],
|
||||
"filament_max_volumetric_speed": [
|
||||
"16"
|
||||
],
|
||||
"filament_minimal_purge_on_wipe_tower": [
|
||||
"15"
|
||||
],
|
||||
"filament_retract_before_wipe": [
|
||||
"nil"
|
||||
],
|
||||
"filament_retract_restart_extra": [
|
||||
"nil"
|
||||
],
|
||||
"filament_retract_when_changing_layer": [
|
||||
"nil"
|
||||
],
|
||||
"filament_retraction_length": [
|
||||
"nil"
|
||||
],
|
||||
"filament_retraction_minimum_travel": [
|
||||
"1"
|
||||
],
|
||||
"filament_retraction_speed": [
|
||||
"35"
|
||||
],
|
||||
"filament_soluble": [
|
||||
"0"
|
||||
],
|
||||
"filament_vendor": [
|
||||
"Creality"
|
||||
],
|
||||
"filament_wipe": [
|
||||
"nil"
|
||||
],
|
||||
"filament_wipe_distance": [
|
||||
"2"
|
||||
],
|
||||
"filament_z_hop": [
|
||||
"nil"
|
||||
],
|
||||
"filament_z_hop_types": [
|
||||
"nil"
|
||||
],
|
||||
"full_fan_speed_layer": [
|
||||
"0"
|
||||
],
|
||||
"hot_plate_temp": [
|
||||
"90"
|
||||
],
|
||||
"hot_plate_temp_initial_layer": [
|
||||
"90"
|
||||
],
|
||||
"nozzle_temperature_range_high": [
|
||||
"280"
|
||||
],
|
||||
"reduce_fan_stop_start_freq": [
|
||||
"0"
|
||||
],
|
||||
"required_nozzle_HRC": [
|
||||
"0"
|
||||
],
|
||||
"slow_down_layer_time": [
|
||||
"10"
|
||||
],
|
||||
"textured_plate_temp": [
|
||||
"90"
|
||||
],
|
||||
"textured_plate_temp_initial_layer": [
|
||||
"90"
|
||||
],
|
||||
"filament_start_gcode": [
|
||||
"; filament start gcode\n"
|
||||
],
|
||||
"filament_end_gcode": [
|
||||
"; filament end gcode \n"
|
||||
],
|
||||
"activate_chamber_temp_control": "0",
|
||||
"chamber_temperature": "55",
|
||||
"cool_cds_fan_start_at_height": "0.5",
|
||||
"cool_special_cds_fan_speed": "0",
|
||||
"customized_plate_temp": "90",
|
||||
"customized_plate_temp_initial_layer": "90",
|
||||
"default_filament_colour": "\"\"",
|
||||
"enable_overhang_bridge_fan": "1",
|
||||
"enable_pressure_advance": "1",
|
||||
"enable_special_area_additional_cooling_fan": "0",
|
||||
"epoxy_resin_plate_temp": "90",
|
||||
"epoxy_resin_plate_temp_initial_layer": "90",
|
||||
"filament_cooling_final_speed": "3.4",
|
||||
"filament_cooling_initial_speed": "2.2",
|
||||
"filament_cooling_moves": "4",
|
||||
"filament_load_time": "0",
|
||||
"filament_loading_speed": "28",
|
||||
"filament_loading_speed_start": "3",
|
||||
"filament_multitool_ramming": "0",
|
||||
"filament_multitool_ramming_flow": "10",
|
||||
"filament_multitool_ramming_volume": "10",
|
||||
"filament_notes": "\"\"",
|
||||
"filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"",
|
||||
"filament_retract_lift_above": "nil",
|
||||
"filament_retract_lift_below": "nil",
|
||||
"filament_retract_lift_enforce": "nil",
|
||||
"filament_shrink": "100%",
|
||||
"filament_toolchange_delay": "0",
|
||||
"filament_unload_time": "0",
|
||||
"filament_unloading_speed": "90",
|
||||
"filament_unloading_speed_start": "100",
|
||||
"material_flow_dependent_temperature": "0",
|
||||
"material_flow_temp_graph": "[[3.0,240],[8.0,250],[12.0,260]]",
|
||||
"pressure_advance": "0.032",
|
||||
"support_material_interface_fan_speed": "-1",
|
||||
"compatible_printers": [
|
||||
"Creality Ender-5 Max 0.4 nozzle"
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,168 @@
|
||||
{
|
||||
"type": "filament",
|
||||
"name": "HP-TPU @Ender-5 Max-all",
|
||||
"inherits": "fdm_filament_tpu",
|
||||
"from": "system",
|
||||
"setting_id": "7Y7KjqVEXrce3jKO",
|
||||
"instantiation": "true",
|
||||
"activate_air_filtration": [
|
||||
"0"
|
||||
],
|
||||
"additional_cooling_fan_speed": [
|
||||
"0"
|
||||
],
|
||||
"complete_print_exhaust_fan_speed": [
|
||||
"0"
|
||||
],
|
||||
"cool_plate_temp": [
|
||||
"45"
|
||||
],
|
||||
"cool_plate_temp_initial_layer": [
|
||||
"45"
|
||||
],
|
||||
"during_print_exhaust_fan_speed": [
|
||||
"0"
|
||||
],
|
||||
"eng_plate_temp": [
|
||||
"35"
|
||||
],
|
||||
"eng_plate_temp_initial_layer": [
|
||||
"35"
|
||||
],
|
||||
"filament_density": [
|
||||
"1.26"
|
||||
],
|
||||
"filament_deretraction_speed": [
|
||||
"35"
|
||||
],
|
||||
"filament_diameter": [
|
||||
"1.75"
|
||||
],
|
||||
"filament_flow_ratio": [
|
||||
"1"
|
||||
],
|
||||
"filament_is_support": [
|
||||
"0"
|
||||
],
|
||||
"filament_max_volumetric_speed": [
|
||||
"2.5"
|
||||
],
|
||||
"filament_minimal_purge_on_wipe_tower": [
|
||||
"15"
|
||||
],
|
||||
"filament_retract_before_wipe": [
|
||||
"nil"
|
||||
],
|
||||
"filament_retract_restart_extra": [
|
||||
"nil"
|
||||
],
|
||||
"filament_retract_when_changing_layer": [
|
||||
"nil"
|
||||
],
|
||||
"filament_retraction_length": [
|
||||
"1"
|
||||
],
|
||||
"filament_retraction_minimum_travel": [
|
||||
"2"
|
||||
],
|
||||
"filament_retraction_speed": [
|
||||
"35"
|
||||
],
|
||||
"filament_soluble": [
|
||||
"0"
|
||||
],
|
||||
"filament_vendor": [
|
||||
"Creality"
|
||||
],
|
||||
"filament_wipe": [
|
||||
"nil"
|
||||
],
|
||||
"filament_wipe_distance": [
|
||||
"2"
|
||||
],
|
||||
"filament_z_hop": [
|
||||
"nil"
|
||||
],
|
||||
"filament_z_hop_types": [
|
||||
"nil"
|
||||
],
|
||||
"full_fan_speed_layer": [
|
||||
"0"
|
||||
],
|
||||
"hot_plate_temp": [
|
||||
"50"
|
||||
],
|
||||
"hot_plate_temp_initial_layer": [
|
||||
"50"
|
||||
],
|
||||
"nozzle_temperature": [
|
||||
"210"
|
||||
],
|
||||
"nozzle_temperature_initial_layer": [
|
||||
"210"
|
||||
],
|
||||
"nozzle_temperature_range_high": [
|
||||
"220"
|
||||
],
|
||||
"overhang_fan_threshold": [
|
||||
"50%"
|
||||
],
|
||||
"required_nozzle_HRC": [
|
||||
"0"
|
||||
],
|
||||
"slow_down_layer_time": [
|
||||
"10"
|
||||
],
|
||||
"slow_down_min_speed": [
|
||||
"10"
|
||||
],
|
||||
"textured_plate_temp": [
|
||||
"50"
|
||||
],
|
||||
"textured_plate_temp_initial_layer": [
|
||||
"50"
|
||||
],
|
||||
"filament_end_gcode": [
|
||||
"; filament end gcode \n"
|
||||
],
|
||||
"activate_chamber_temp_control": "0",
|
||||
"chamber_temperature": "0",
|
||||
"cool_cds_fan_start_at_height": "0.5",
|
||||
"cool_special_cds_fan_speed": "0",
|
||||
"customized_plate_temp": "50",
|
||||
"customized_plate_temp_initial_layer": "50",
|
||||
"default_filament_colour": "\"\"",
|
||||
"enable_overhang_bridge_fan": "1",
|
||||
"enable_pressure_advance": "1",
|
||||
"enable_special_area_additional_cooling_fan": "0",
|
||||
"epoxy_resin_plate_temp": "50",
|
||||
"epoxy_resin_plate_temp_initial_layer": "50",
|
||||
"filament_cooling_final_speed": "3.4",
|
||||
"filament_cooling_initial_speed": "2.2",
|
||||
"filament_cooling_moves": "4",
|
||||
"filament_load_time": "0",
|
||||
"filament_loading_speed": "28",
|
||||
"filament_loading_speed_start": "3",
|
||||
"filament_multitool_ramming": "0",
|
||||
"filament_multitool_ramming_flow": "10",
|
||||
"filament_multitool_ramming_volume": "10",
|
||||
"filament_notes": "\"\"",
|
||||
"filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"",
|
||||
"filament_retract_lift_above": "nil",
|
||||
"filament_retract_lift_below": "nil",
|
||||
"filament_retract_lift_enforce": "nil",
|
||||
"filament_shrink": "100%",
|
||||
"filament_toolchange_delay": "0",
|
||||
"filament_unload_time": "0",
|
||||
"filament_unloading_speed": "90",
|
||||
"filament_unloading_speed_start": "100",
|
||||
"material_flow_dependent_temperature": "0",
|
||||
"material_flow_temp_graph": "[[3.0,210], [10.0,220], [12.0,230]]",
|
||||
"pressure_advance": "0.4",
|
||||
"support_material_interface_fan_speed": "-1",
|
||||
"compatible_printers": [
|
||||
"Creality Ender-5 Max 0.4 nozzle",
|
||||
"Creality Ender-5 Max 0.6 nozzle",
|
||||
"Creality Ender-5 Max 0.8 nozzle"
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,166 @@
|
||||
{
|
||||
"type": "filament",
|
||||
"name": "Hyper ABS @Ender-5 Max-all",
|
||||
"inherits": "fdm_filament_abs",
|
||||
"from": "system",
|
||||
"setting_id": "jPfMyNBquP31h2Eb",
|
||||
"instantiation": "true",
|
||||
"activate_air_filtration": [
|
||||
"0"
|
||||
],
|
||||
"additional_cooling_fan_speed": [
|
||||
"0"
|
||||
],
|
||||
"complete_print_exhaust_fan_speed": [
|
||||
"80"
|
||||
],
|
||||
"cool_plate_temp": [
|
||||
"90"
|
||||
],
|
||||
"cool_plate_temp_initial_layer": [
|
||||
"90"
|
||||
],
|
||||
"during_print_exhaust_fan_speed": [
|
||||
"60"
|
||||
],
|
||||
"fan_max_speed": [
|
||||
"20"
|
||||
],
|
||||
"fan_min_speed": [
|
||||
"20"
|
||||
],
|
||||
"filament_cost": [
|
||||
"15"
|
||||
],
|
||||
"filament_density": [
|
||||
"1.08"
|
||||
],
|
||||
"filament_deretraction_speed": [
|
||||
"nil"
|
||||
],
|
||||
"filament_diameter": [
|
||||
"1.75"
|
||||
],
|
||||
"filament_flow_ratio": [
|
||||
"0.92"
|
||||
],
|
||||
"filament_is_support": [
|
||||
"0"
|
||||
],
|
||||
"filament_max_volumetric_speed": [
|
||||
"60"
|
||||
],
|
||||
"filament_minimal_purge_on_wipe_tower": [
|
||||
"15"
|
||||
],
|
||||
"filament_retract_before_wipe": [
|
||||
"nil"
|
||||
],
|
||||
"filament_retract_restart_extra": [
|
||||
"0"
|
||||
],
|
||||
"filament_retract_when_changing_layer": [
|
||||
"nil"
|
||||
],
|
||||
"filament_retraction_length": [
|
||||
"nil"
|
||||
],
|
||||
"filament_retraction_minimum_travel": [
|
||||
"nil"
|
||||
],
|
||||
"filament_retraction_speed": [
|
||||
"nil"
|
||||
],
|
||||
"filament_soluble": [
|
||||
"0"
|
||||
],
|
||||
"filament_vendor": [
|
||||
"Creality"
|
||||
],
|
||||
"filament_wipe": [
|
||||
"nil"
|
||||
],
|
||||
"filament_wipe_distance": [
|
||||
"nil"
|
||||
],
|
||||
"filament_z_hop": [
|
||||
"nil"
|
||||
],
|
||||
"filament_z_hop_types": [
|
||||
"nil"
|
||||
],
|
||||
"full_fan_speed_layer": [
|
||||
"0"
|
||||
],
|
||||
"hot_plate_temp": [
|
||||
"90"
|
||||
],
|
||||
"hot_plate_temp_initial_layer": [
|
||||
"90"
|
||||
],
|
||||
"nozzle_temperature_range_high": [
|
||||
"260"
|
||||
],
|
||||
"nozzle_temperature_range_low": [
|
||||
"230"
|
||||
],
|
||||
"overhang_fan_speed": [
|
||||
"20"
|
||||
],
|
||||
"required_nozzle_HRC": [
|
||||
"0"
|
||||
],
|
||||
"slow_down_layer_time": [
|
||||
"5"
|
||||
],
|
||||
"textured_plate_temp": [
|
||||
"90"
|
||||
],
|
||||
"textured_plate_temp_initial_layer": [
|
||||
"90"
|
||||
],
|
||||
"filament_start_gcode": [
|
||||
"; Filament gcode\n"
|
||||
],
|
||||
"filament_end_gcode": [
|
||||
"; filament end gcode \n"
|
||||
],
|
||||
"activate_chamber_temp_control": "0",
|
||||
"chamber_temperature": "35",
|
||||
"cool_cds_fan_start_at_height": "0.5",
|
||||
"cool_special_cds_fan_speed": "0",
|
||||
"default_filament_colour": "\"\"",
|
||||
"enable_overhang_bridge_fan": "1",
|
||||
"enable_pressure_advance": "1",
|
||||
"enable_special_area_additional_cooling_fan": "0",
|
||||
"epoxy_resin_plate_temp": "90",
|
||||
"epoxy_resin_plate_temp_initial_layer": "90",
|
||||
"filament_cooling_final_speed": "3.4",
|
||||
"filament_cooling_initial_speed": "2.2",
|
||||
"filament_cooling_moves": "4",
|
||||
"filament_load_time": "0",
|
||||
"filament_loading_speed": "28",
|
||||
"filament_loading_speed_start": "3",
|
||||
"filament_multitool_ramming": "0",
|
||||
"filament_multitool_ramming_flow": "10",
|
||||
"filament_multitool_ramming_volume": "10",
|
||||
"filament_notes": "\"\"",
|
||||
"filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"",
|
||||
"filament_retract_lift_above": "0",
|
||||
"filament_retract_lift_below": "0",
|
||||
"filament_retract_lift_enforce": "All Surfaces",
|
||||
"filament_shrink": "100%",
|
||||
"filament_toolchange_delay": "0",
|
||||
"filament_unload_time": "0",
|
||||
"filament_unloading_speed": "90",
|
||||
"filament_unloading_speed_start": "100",
|
||||
"material_flow_dependent_temperature": "0",
|
||||
"material_flow_temp_graph": "[[3.0,230],[5.0,250],[10.0,260]]",
|
||||
"pressure_advance": "0.025",
|
||||
"support_material_interface_fan_speed": "-1",
|
||||
"compatible_printers": [
|
||||
"Creality Ender-5 Max 0.4 nozzle",
|
||||
"Creality Ender-5 Max 0.6 nozzle",
|
||||
"Creality Ender-5 Max 0.8 nozzle"
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,163 @@
|
||||
{
|
||||
"type": "filament",
|
||||
"name": "Hyper PETG @Ender-5 Max-all",
|
||||
"inherits": "fdm_filament_petg",
|
||||
"from": "system",
|
||||
"setting_id": "nr57CpZ5PwPmcOCR",
|
||||
"instantiation": "true",
|
||||
"activate_air_filtration": [
|
||||
"0"
|
||||
],
|
||||
"additional_cooling_fan_speed": [
|
||||
"0"
|
||||
],
|
||||
"close_fan_the_first_x_layers": [
|
||||
"1"
|
||||
],
|
||||
"complete_print_exhaust_fan_speed": [
|
||||
"0"
|
||||
],
|
||||
"cool_plate_temp": [
|
||||
"70"
|
||||
],
|
||||
"cool_plate_temp_initial_layer": [
|
||||
"70"
|
||||
],
|
||||
"during_print_exhaust_fan_speed": [
|
||||
"0"
|
||||
],
|
||||
"eng_plate_temp": [
|
||||
"0"
|
||||
],
|
||||
"eng_plate_temp_initial_layer": [
|
||||
"0"
|
||||
],
|
||||
"fan_cooling_layer_time": [
|
||||
"30"
|
||||
],
|
||||
"fan_max_speed": [
|
||||
"50"
|
||||
],
|
||||
"fan_min_speed": [
|
||||
"20"
|
||||
],
|
||||
"filament_cost": [
|
||||
"25"
|
||||
],
|
||||
"filament_density": [
|
||||
"1.23"
|
||||
],
|
||||
"filament_deretraction_speed": [
|
||||
"30"
|
||||
],
|
||||
"filament_flow_ratio": [
|
||||
"0.95"
|
||||
],
|
||||
"filament_is_support": [
|
||||
"0"
|
||||
],
|
||||
"filament_max_volumetric_speed": [
|
||||
"23"
|
||||
],
|
||||
"filament_retract_before_wipe": [
|
||||
"80%"
|
||||
],
|
||||
"filament_retraction_minimum_travel": [
|
||||
"1"
|
||||
],
|
||||
"filament_retraction_speed": [
|
||||
"30"
|
||||
],
|
||||
"filament_type": [
|
||||
"PETG"
|
||||
],
|
||||
"filament_vendor": [
|
||||
"Creality"
|
||||
],
|
||||
"filament_wipe_distance": [
|
||||
"2"
|
||||
],
|
||||
"hot_plate_temp": [
|
||||
"80"
|
||||
],
|
||||
"hot_plate_temp_initial_layer": [
|
||||
"80"
|
||||
],
|
||||
"nozzle_temperature": [
|
||||
"240"
|
||||
],
|
||||
"nozzle_temperature_initial_layer": [
|
||||
"240"
|
||||
],
|
||||
"nozzle_temperature_range_high": [
|
||||
"270"
|
||||
],
|
||||
"nozzle_temperature_range_low": [
|
||||
"220"
|
||||
],
|
||||
"overhang_fan_speed": [
|
||||
"90"
|
||||
],
|
||||
"overhang_fan_threshold": [
|
||||
"25%"
|
||||
],
|
||||
"reduce_fan_stop_start_freq": [
|
||||
"1"
|
||||
],
|
||||
"required_nozzle_HRC": [
|
||||
"0"
|
||||
],
|
||||
"slow_down_layer_time": [
|
||||
"12"
|
||||
],
|
||||
"temperature_vitrification": [
|
||||
"80"
|
||||
],
|
||||
"textured_plate_temp": [
|
||||
"80"
|
||||
],
|
||||
"textured_plate_temp_initial_layer": [
|
||||
"80"
|
||||
],
|
||||
"filament_start_gcode": [
|
||||
"; filament start gcode\n"
|
||||
],
|
||||
"activate_chamber_temp_control": "0",
|
||||
"chamber_temperature": "0",
|
||||
"cool_cds_fan_start_at_height": "0.5",
|
||||
"cool_special_cds_fan_speed": "0",
|
||||
"customized_plate_temp": "80",
|
||||
"customized_plate_temp_initial_layer": "80",
|
||||
"default_filament_colour": "\"\"",
|
||||
"enable_overhang_bridge_fan": "1",
|
||||
"enable_pressure_advance": "1",
|
||||
"enable_special_area_additional_cooling_fan": "0",
|
||||
"epoxy_resin_plate_temp": "80",
|
||||
"epoxy_resin_plate_temp_initial_layer": "80",
|
||||
"filament_cooling_final_speed": "3.4",
|
||||
"filament_cooling_initial_speed": "2.2",
|
||||
"filament_cooling_moves": "4",
|
||||
"filament_load_time": "0",
|
||||
"filament_loading_speed": "28",
|
||||
"filament_loading_speed_start": "3",
|
||||
"filament_multitool_ramming": "0",
|
||||
"filament_multitool_ramming_flow": "10",
|
||||
"filament_multitool_ramming_volume": "10",
|
||||
"filament_notes": "\"\"",
|
||||
"filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"",
|
||||
"filament_retract_lift_above": "nil",
|
||||
"filament_retract_lift_below": "nil",
|
||||
"filament_retract_lift_enforce": "nil",
|
||||
"filament_shrink": "100%",
|
||||
"filament_toolchange_delay": "0",
|
||||
"filament_unload_time": "0",
|
||||
"filament_unloading_speed": "90",
|
||||
"filament_unloading_speed_start": "100",
|
||||
"material_flow_dependent_temperature": "0",
|
||||
"material_flow_temp_graph": "[[0.8,220],[1.0,240]]",
|
||||
"pressure_advance": "0.05",
|
||||
"support_material_interface_fan_speed": "-1",
|
||||
"compatible_printers": [
|
||||
"Creality Ender-5 Max 0.4 nozzle"
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,160 @@
|
||||
{
|
||||
"type": "filament",
|
||||
"name": "Hyper PLA @Ender-5 Max-all",
|
||||
"inherits": "fdm_filament_pla",
|
||||
"from": "system",
|
||||
"setting_id": "Nb1H9jKg8CPQXLVI",
|
||||
"instantiation": "true",
|
||||
"activate_air_filtration": [
|
||||
"0"
|
||||
],
|
||||
"additional_cooling_fan_speed": [
|
||||
"0"
|
||||
],
|
||||
"complete_print_exhaust_fan_speed": [
|
||||
"0"
|
||||
],
|
||||
"cool_plate_temp": [
|
||||
"45"
|
||||
],
|
||||
"cool_plate_temp_initial_layer": [
|
||||
"45"
|
||||
],
|
||||
"during_print_exhaust_fan_speed": [
|
||||
"0"
|
||||
],
|
||||
"eng_plate_temp": [
|
||||
"50"
|
||||
],
|
||||
"eng_plate_temp_initial_layer": [
|
||||
"50"
|
||||
],
|
||||
"filament_cost": [
|
||||
"30"
|
||||
],
|
||||
"filament_deretraction_speed": [
|
||||
"35"
|
||||
],
|
||||
"filament_diameter": [
|
||||
"1.75"
|
||||
],
|
||||
"filament_flow_ratio": [
|
||||
"0.95"
|
||||
],
|
||||
"filament_is_support": [
|
||||
"0"
|
||||
],
|
||||
"filament_max_volumetric_speed": [
|
||||
"23"
|
||||
],
|
||||
"filament_minimal_purge_on_wipe_tower": [
|
||||
"15"
|
||||
],
|
||||
"filament_retract_before_wipe": [
|
||||
"nil"
|
||||
],
|
||||
"filament_retract_restart_extra": [
|
||||
"nil"
|
||||
],
|
||||
"filament_retract_when_changing_layer": [
|
||||
"nil"
|
||||
],
|
||||
"filament_retraction_length": [
|
||||
"1"
|
||||
],
|
||||
"filament_retraction_minimum_travel": [
|
||||
"1"
|
||||
],
|
||||
"filament_retraction_speed": [
|
||||
"35"
|
||||
],
|
||||
"filament_soluble": [
|
||||
"0"
|
||||
],
|
||||
"filament_vendor": [
|
||||
"Creality"
|
||||
],
|
||||
"filament_wipe": [
|
||||
"nil"
|
||||
],
|
||||
"filament_wipe_distance": [
|
||||
"2"
|
||||
],
|
||||
"filament_z_hop": [
|
||||
"nil"
|
||||
],
|
||||
"filament_z_hop_types": [
|
||||
"nil"
|
||||
],
|
||||
"full_fan_speed_layer": [
|
||||
"0"
|
||||
],
|
||||
"hot_plate_temp": [
|
||||
"55"
|
||||
],
|
||||
"hot_plate_temp_initial_layer": [
|
||||
"45"
|
||||
],
|
||||
"nozzle_temperature_range_high": [
|
||||
"240"
|
||||
],
|
||||
"required_nozzle_HRC": [
|
||||
"0"
|
||||
],
|
||||
"slow_down_layer_time": [
|
||||
"10"
|
||||
],
|
||||
"slow_down_min_speed": [
|
||||
"20"
|
||||
],
|
||||
"textured_plate_temp": [
|
||||
"55"
|
||||
],
|
||||
"textured_plate_temp_initial_layer": [
|
||||
"45"
|
||||
],
|
||||
"filament_end_gcode": [
|
||||
"; filament end gcode \n"
|
||||
],
|
||||
"activate_chamber_temp_control": "0",
|
||||
"chamber_temperature": "0",
|
||||
"cool_cds_fan_start_at_height": "0.5",
|
||||
"cool_special_cds_fan_speed": "0",
|
||||
"customized_plate_temp": "55",
|
||||
"customized_plate_temp_initial_layer": "45",
|
||||
"default_filament_colour": "\"\"",
|
||||
"enable_overhang_bridge_fan": "1",
|
||||
"enable_pressure_advance": "1",
|
||||
"enable_special_area_additional_cooling_fan": "0",
|
||||
"epoxy_resin_plate_temp": "55",
|
||||
"epoxy_resin_plate_temp_initial_layer": "45",
|
||||
"filament_cooling_final_speed": "3.4",
|
||||
"filament_cooling_initial_speed": "2.2",
|
||||
"filament_cooling_moves": "4",
|
||||
"filament_load_time": "0",
|
||||
"filament_loading_speed": "28",
|
||||
"filament_loading_speed_start": "3",
|
||||
"filament_multitool_ramming": "0",
|
||||
"filament_multitool_ramming_flow": "10",
|
||||
"filament_multitool_ramming_volume": "10",
|
||||
"filament_notes": "\"\"",
|
||||
"filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"",
|
||||
"filament_retract_lift_above": "nil",
|
||||
"filament_retract_lift_below": "nil",
|
||||
"filament_retract_lift_enforce": "nil",
|
||||
"filament_shrink": "100%",
|
||||
"filament_shrinkage_compensation_z": "100%",
|
||||
"filament_toolchange_delay": "0",
|
||||
"filament_unload_time": "0",
|
||||
"filament_unloading_speed": "90",
|
||||
"filament_unloading_speed_start": "100",
|
||||
"material_flow_dependent_temperature": "0",
|
||||
"material_flow_temp_graph": "[[1.0,190],[1.5,220]]",
|
||||
"pressure_advance": "0.048",
|
||||
"support_material_interface_fan_speed": "-1",
|
||||
"compatible_printers": [
|
||||
"Creality Ender-5 Max 0.4 nozzle",
|
||||
"Creality Ender-5 Max 0.6 nozzle",
|
||||
"Creality Ender-5 Max 0.8 nozzle"
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,163 @@
|
||||
{
|
||||
"type": "filament",
|
||||
"name": "Hyper PLA-CF @Ender-5 Max-all",
|
||||
"inherits": "fdm_filament_pla",
|
||||
"from": "system",
|
||||
"setting_id": "pW3AHx1VemLWSa7q",
|
||||
"instantiation": "true",
|
||||
"activate_air_filtration": [
|
||||
"0"
|
||||
],
|
||||
"additional_cooling_fan_speed": [
|
||||
"0"
|
||||
],
|
||||
"complete_print_exhaust_fan_speed": [
|
||||
"80"
|
||||
],
|
||||
"cool_plate_temp": [
|
||||
"45"
|
||||
],
|
||||
"cool_plate_temp_initial_layer": [
|
||||
"45"
|
||||
],
|
||||
"during_print_exhaust_fan_speed": [
|
||||
"60"
|
||||
],
|
||||
"eng_plate_temp": [
|
||||
"50"
|
||||
],
|
||||
"eng_plate_temp_initial_layer": [
|
||||
"50"
|
||||
],
|
||||
"filament_cost": [
|
||||
"32"
|
||||
],
|
||||
"filament_density": [
|
||||
"1.27"
|
||||
],
|
||||
"filament_deretraction_speed": [
|
||||
"35"
|
||||
],
|
||||
"filament_diameter": [
|
||||
"1.75"
|
||||
],
|
||||
"filament_flow_ratio": [
|
||||
"0.95"
|
||||
],
|
||||
"filament_is_support": [
|
||||
"0"
|
||||
],
|
||||
"filament_max_volumetric_speed": [
|
||||
"23"
|
||||
],
|
||||
"filament_minimal_purge_on_wipe_tower": [
|
||||
"15"
|
||||
],
|
||||
"filament_retract_before_wipe": [
|
||||
"nil"
|
||||
],
|
||||
"filament_retract_restart_extra": [
|
||||
"nil"
|
||||
],
|
||||
"filament_retract_when_changing_layer": [
|
||||
"nil"
|
||||
],
|
||||
"filament_retraction_length": [
|
||||
"nil"
|
||||
],
|
||||
"filament_retraction_minimum_travel": [
|
||||
"1"
|
||||
],
|
||||
"filament_retraction_speed": [
|
||||
"35"
|
||||
],
|
||||
"filament_soluble": [
|
||||
"0"
|
||||
],
|
||||
"filament_type": [
|
||||
"PLA-CF"
|
||||
],
|
||||
"filament_vendor": [
|
||||
"Creality"
|
||||
],
|
||||
"filament_wipe": [
|
||||
"nil"
|
||||
],
|
||||
"filament_wipe_distance": [
|
||||
"2"
|
||||
],
|
||||
"filament_z_hop": [
|
||||
"nil"
|
||||
],
|
||||
"filament_z_hop_types": [
|
||||
"nil"
|
||||
],
|
||||
"full_fan_speed_layer": [
|
||||
"0"
|
||||
],
|
||||
"hot_plate_temp": [
|
||||
"50"
|
||||
],
|
||||
"hot_plate_temp_initial_layer": [
|
||||
"50"
|
||||
],
|
||||
"nozzle_temperature_range_high": [
|
||||
"240"
|
||||
],
|
||||
"required_nozzle_HRC": [
|
||||
"0"
|
||||
],
|
||||
"slow_down_layer_time": [
|
||||
"10"
|
||||
],
|
||||
"slow_down_min_speed": [
|
||||
"20"
|
||||
],
|
||||
"textured_plate_temp": [
|
||||
"50"
|
||||
],
|
||||
"textured_plate_temp_initial_layer": [
|
||||
"50"
|
||||
],
|
||||
"filament_end_gcode": [
|
||||
"; filament end gcode \n"
|
||||
],
|
||||
"activate_chamber_temp_control": "0",
|
||||
"chamber_temperature": "35",
|
||||
"cool_cds_fan_start_at_height": "0.5",
|
||||
"cool_special_cds_fan_speed": "0",
|
||||
"customized_plate_temp": "50",
|
||||
"customized_plate_temp_initial_layer": "50",
|
||||
"default_filament_colour": "\"\"",
|
||||
"enable_overhang_bridge_fan": "1",
|
||||
"enable_pressure_advance": "1",
|
||||
"enable_special_area_additional_cooling_fan": "0",
|
||||
"epoxy_resin_plate_temp": "50",
|
||||
"epoxy_resin_plate_temp_initial_layer": "50",
|
||||
"filament_cooling_final_speed": "3.4",
|
||||
"filament_cooling_initial_speed": "2.2",
|
||||
"filament_cooling_moves": "4",
|
||||
"filament_load_time": "0",
|
||||
"filament_loading_speed": "28",
|
||||
"filament_loading_speed_start": "3",
|
||||
"filament_multitool_ramming": "0",
|
||||
"filament_multitool_ramming_flow": "10",
|
||||
"filament_multitool_ramming_volume": "10",
|
||||
"filament_notes": "\"\"",
|
||||
"filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"",
|
||||
"filament_retract_lift_above": "nil",
|
||||
"filament_retract_lift_below": "nil",
|
||||
"filament_retract_lift_enforce": "nil",
|
||||
"filament_shrink": "100%",
|
||||
"filament_toolchange_delay": "0",
|
||||
"filament_unload_time": "0",
|
||||
"filament_unloading_speed": "90",
|
||||
"filament_unloading_speed_start": "100",
|
||||
"material_flow_dependent_temperature": "0",
|
||||
"material_flow_temp_graph": "[[1.0,190],[1.2,220]]",
|
||||
"pressure_advance": "0.04",
|
||||
"support_material_interface_fan_speed": "-1",
|
||||
"compatible_printers": [
|
||||
"Creality Ender-5 Max 0.4 nozzle"
|
||||
]
|
||||
}
|
||||
@@ -1,9 +1,13 @@
|
||||
{
|
||||
"name": "Custom Printer",
|
||||
"version": "02.04.00.04",
|
||||
"version": "02.04.00.05",
|
||||
"force_update": "0",
|
||||
"description": "My configurations",
|
||||
"machine_model_list": [
|
||||
{
|
||||
"name": "Generic Belt Printer",
|
||||
"sub_path": "machine/MyBeltPrinter.json"
|
||||
},
|
||||
{
|
||||
"name": "Generic Klipper Printer",
|
||||
"sub_path": "machine/MyKlipper.json"
|
||||
@@ -62,6 +66,14 @@
|
||||
"name": "0.16mm Optimal @MyKlipper",
|
||||
"sub_path": "process/0.16mm Optimal @MyKlipper.json"
|
||||
},
|
||||
{
|
||||
"name": "0.12mm Fine @MyBeltPrinter",
|
||||
"sub_path": "process/0.12mm Fine @MyBeltPrinter.json"
|
||||
},
|
||||
{
|
||||
"name": "0.20mm Standard @MyBeltPrinter",
|
||||
"sub_path": "process/0.20mm Standard @MyBeltPrinter.json"
|
||||
},
|
||||
{
|
||||
"name": "0.20mm Standard @MyKlipper",
|
||||
"sub_path": "process/0.20mm Standard @MyKlipper.json"
|
||||
@@ -262,18 +274,38 @@
|
||||
"name": "MyKlipper 0.8 nozzle",
|
||||
"sub_path": "machine/MyKlipper 0.8 nozzle.json"
|
||||
},
|
||||
{
|
||||
"name": "fdm_belt_common",
|
||||
"sub_path": "machine/fdm_belt_common.json"
|
||||
},
|
||||
{
|
||||
"name": "fdm_toolchanger_common",
|
||||
"sub_path": "machine/fdm_toolchanger_common.json"
|
||||
},
|
||||
{
|
||||
"name": "MyRepetier 0.4 nozzle",
|
||||
"sub_path": "machine/MyRepetier 0.4 nozzle.json"
|
||||
},
|
||||
{
|
||||
"name": "MyRRF 0.4 nozzle",
|
||||
"sub_path": "machine/MyRRF 0.4 nozzle.json"
|
||||
},
|
||||
{
|
||||
"name": "MyBeltPrinter 0.2 nozzle",
|
||||
"sub_path": "machine/MyBeltPrinter 0.2 nozzle.json"
|
||||
},
|
||||
{
|
||||
"name": "MyBeltPrinter 0.4 nozzle",
|
||||
"sub_path": "machine/MyBeltPrinter 0.4 nozzle.json"
|
||||
},
|
||||
{
|
||||
"name": "MyBeltPrinter 0.6 nozzle",
|
||||
"sub_path": "machine/MyBeltPrinter 0.6 nozzle.json"
|
||||
},
|
||||
{
|
||||
"name": "MyBeltPrinter 0.8 nozzle",
|
||||
"sub_path": "machine/MyBeltPrinter 0.8 nozzle.json"
|
||||
},
|
||||
{
|
||||
"name": "MyRepetier 0.4 nozzle",
|
||||
"sub_path": "machine/MyRepetier 0.4 nozzle.json"
|
||||
},
|
||||
{
|
||||
"name": "MyToolChanger 0.2 nozzle",
|
||||
"sub_path": "machine/MyToolChanger 0.2 nozzle.json"
|
||||
|
||||
Binary file not shown.
|
After Width: | Height: | Size: 30 KiB |
@@ -0,0 +1,27 @@
|
||||
{
|
||||
"type": "machine",
|
||||
"name": "MyBeltPrinter 0.2 nozzle",
|
||||
"inherits": "fdm_belt_common",
|
||||
"from": "system",
|
||||
"setting_id": "3w1uyJdmm14QhDnH",
|
||||
"instantiation": "true",
|
||||
"printer_model": "Generic Belt Printer",
|
||||
"default_print_profile": "0.12mm Fine @MyBeltPrinter",
|
||||
"nozzle_diameter": [
|
||||
"0.2"
|
||||
],
|
||||
"max_layer_height": [
|
||||
"0.16"
|
||||
],
|
||||
"min_layer_height": [
|
||||
"0.04"
|
||||
],
|
||||
"printer_variant": "0.2",
|
||||
"printable_area": [
|
||||
"0x0",
|
||||
"350x0",
|
||||
"350x350",
|
||||
"0x350"
|
||||
],
|
||||
"printable_height": "300"
|
||||
}
|
||||
@@ -0,0 +1,20 @@
|
||||
{
|
||||
"type": "machine",
|
||||
"name": "MyBeltPrinter 0.4 nozzle",
|
||||
"inherits": "fdm_belt_common",
|
||||
"from": "system",
|
||||
"setting_id": "6nRHUtvJOUffocbu",
|
||||
"instantiation": "true",
|
||||
"printer_model": "Generic Belt Printer",
|
||||
"nozzle_diameter": [
|
||||
"0.4"
|
||||
],
|
||||
"printer_variant": "0.4",
|
||||
"printable_area": [
|
||||
"0x0",
|
||||
"350x0",
|
||||
"350x350",
|
||||
"0x350"
|
||||
],
|
||||
"printable_height": "300"
|
||||
}
|
||||
@@ -0,0 +1,26 @@
|
||||
{
|
||||
"type": "machine",
|
||||
"name": "MyBeltPrinter 0.6 nozzle",
|
||||
"inherits": "fdm_belt_common",
|
||||
"from": "system",
|
||||
"setting_id": "K0m9HbUNwKT4UCJV",
|
||||
"instantiation": "true",
|
||||
"printer_model": "Generic Belt Printer",
|
||||
"nozzle_diameter": [
|
||||
"0.6"
|
||||
],
|
||||
"max_layer_height": [
|
||||
"0.4"
|
||||
],
|
||||
"min_layer_height": [
|
||||
"0.12"
|
||||
],
|
||||
"printer_variant": "0.6",
|
||||
"printable_area": [
|
||||
"0x0",
|
||||
"350x0",
|
||||
"350x350",
|
||||
"0x350"
|
||||
],
|
||||
"printable_height": "300"
|
||||
}
|
||||
@@ -0,0 +1,26 @@
|
||||
{
|
||||
"type": "machine",
|
||||
"name": "MyBeltPrinter 0.8 nozzle",
|
||||
"inherits": "fdm_belt_common",
|
||||
"from": "system",
|
||||
"setting_id": "rHAweDz4eNwttPNA",
|
||||
"instantiation": "true",
|
||||
"printer_model": "Generic Belt Printer",
|
||||
"nozzle_diameter": [
|
||||
"0.8"
|
||||
],
|
||||
"max_layer_height": [
|
||||
"0.6"
|
||||
],
|
||||
"min_layer_height": [
|
||||
"0.2"
|
||||
],
|
||||
"printer_variant": "0.8",
|
||||
"printable_area": [
|
||||
"0x0",
|
||||
"350x0",
|
||||
"350x350",
|
||||
"0x350"
|
||||
],
|
||||
"printable_height": "300"
|
||||
}
|
||||
@@ -0,0 +1,12 @@
|
||||
{
|
||||
"type": "machine_model",
|
||||
"name": "Generic Belt Printer",
|
||||
"model_id": "my_belt_01",
|
||||
"nozzle_diameter": "0.4;0.2;0.6;0.8",
|
||||
"machine_tech": "FFF",
|
||||
"family": "MyPrinter",
|
||||
"bed_model": "Custom_350_bed.stl",
|
||||
"bed_texture": "orcaslicer_bed_texture.svg",
|
||||
"hotend_model": "",
|
||||
"default_materials": "Generic PLA @System;Generic PLA-CF @System;Generic PETG @System;Generic TPU @System;Generic PC @System;Generic PVA @System;Generic PA @System;Generic PA-CF @System"
|
||||
}
|
||||
@@ -0,0 +1,99 @@
|
||||
{
|
||||
"type": "machine",
|
||||
"name": "fdm_belt_common",
|
||||
"inherits": "fdm_klipper_common",
|
||||
"from": "system",
|
||||
"instantiation": "false",
|
||||
"gcode_flavor": "klipper",
|
||||
"single_extruder_multi_material": "0",
|
||||
"default_filament_profile": [
|
||||
"Generic PLA @System"
|
||||
],
|
||||
"default_print_profile": "0.20mm Standard @MyBeltPrinter",
|
||||
"max_layer_height": [
|
||||
"0.32"
|
||||
],
|
||||
"min_layer_height": [
|
||||
"0.08"
|
||||
],
|
||||
"deretraction_speed": [
|
||||
"30"
|
||||
],
|
||||
"extruder_colour": [
|
||||
"#FCE94F"
|
||||
],
|
||||
"extruder_offset": [
|
||||
"0x0"
|
||||
],
|
||||
"long_retractions_when_cut": [
|
||||
"0"
|
||||
],
|
||||
"nozzle_diameter": [
|
||||
"0.4"
|
||||
],
|
||||
"retract_before_wipe": [
|
||||
"70%"
|
||||
],
|
||||
"retract_length_toolchange": [
|
||||
"2"
|
||||
],
|
||||
"retract_lift_above": [
|
||||
"0"
|
||||
],
|
||||
"retract_lift_below": [
|
||||
"0"
|
||||
],
|
||||
"retract_lift_enforce": [
|
||||
"All Surfaces"
|
||||
],
|
||||
"retract_restart_extra": [
|
||||
"0"
|
||||
],
|
||||
"retract_restart_extra_toolchange": [
|
||||
"0"
|
||||
],
|
||||
"retract_when_changing_layer": [
|
||||
"1"
|
||||
],
|
||||
"retraction_distances_when_cut": [
|
||||
"18"
|
||||
],
|
||||
"retraction_length": [
|
||||
"0.8"
|
||||
],
|
||||
"retraction_minimum_travel": [
|
||||
"1"
|
||||
],
|
||||
"retraction_speed": [
|
||||
"30"
|
||||
],
|
||||
"travel_slope": [
|
||||
"3"
|
||||
],
|
||||
"wipe": [
|
||||
"1"
|
||||
],
|
||||
"wipe_distance": [
|
||||
"1"
|
||||
],
|
||||
"z_hop": [
|
||||
"0.4"
|
||||
],
|
||||
"z_hop_types": [
|
||||
"Normal Lift"
|
||||
],
|
||||
"gcode_remap_x": "rev_x",
|
||||
"gcode_remap_y": "pos_z",
|
||||
"gcode_remap_z": "pos_y",
|
||||
"printer_extruder_id": [
|
||||
"1"
|
||||
],
|
||||
"belt_printer": "1",
|
||||
"belt_slice_rotation": "x",
|
||||
"belt_slice_rotation_angle": "45",
|
||||
"belt_slice_rotation_global": "1",
|
||||
"build_plate_tilt_x": "45",
|
||||
"purge_in_prime_tower": "0",
|
||||
"scan_first_layer": "0",
|
||||
"auxiliary_fan": "0"
|
||||
}
|
||||
@@ -0,0 +1,20 @@
|
||||
{
|
||||
"type": "process",
|
||||
"name": "0.12mm Fine @MyBeltPrinter",
|
||||
"inherits": "fdm_process_klipper_common",
|
||||
"from": "system",
|
||||
"setting_id": "EugqqdLJ423bgEwN",
|
||||
"instantiation": "true",
|
||||
"layer_height": "0.12",
|
||||
"initial_layer_print_height": "0.12",
|
||||
"bottom_shell_layers": "5",
|
||||
"top_shell_layers": "6",
|
||||
"support_top_z_distance": "0.08",
|
||||
"support_bottom_z_distance": "0.08",
|
||||
"skirt_loops": "0",
|
||||
"skirt_distance": "0",
|
||||
"compatible_printers": [
|
||||
"MyBeltPrinter 0.2 nozzle",
|
||||
"MyBeltPrinter 0.4 nozzle"
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,17 @@
|
||||
{
|
||||
"type": "process",
|
||||
"name": "0.20mm Standard @MyBeltPrinter",
|
||||
"inherits": "fdm_process_klipper_common",
|
||||
"from": "system",
|
||||
"setting_id": "YzCDAgH3uLOM53pF",
|
||||
"instantiation": "true",
|
||||
"layer_height": "0.2",
|
||||
"initial_layer_print_height": "0.2",
|
||||
"skirt_loops": "0",
|
||||
"skirt_distance": "0",
|
||||
"compatible_printers": [
|
||||
"MyBeltPrinter 0.4 nozzle",
|
||||
"MyBeltPrinter 0.6 nozzle",
|
||||
"MyBeltPrinter 0.8 nozzle"
|
||||
]
|
||||
}
|
||||
+2545
-2545
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,91 @@
|
||||
{
|
||||
"type": "filament",
|
||||
"name": "fdm_filament_paht",
|
||||
"inherits": "fdm_filament_common",
|
||||
"from": "system",
|
||||
"instantiation": "false",
|
||||
"filament_max_volumetric_speed": [
|
||||
"12"
|
||||
],
|
||||
"filament_type": [
|
||||
"PAHT"
|
||||
],
|
||||
"filament_density": [
|
||||
"1.24"
|
||||
],
|
||||
"filament_cost": [
|
||||
"0"
|
||||
],
|
||||
"cool_plate_temp": [
|
||||
"35"
|
||||
],
|
||||
"eng_plate_temp": [
|
||||
"0"
|
||||
],
|
||||
"textured_plate_temp": [
|
||||
"60"
|
||||
],
|
||||
"cool_plate_temp_initial_layer": [
|
||||
"35"
|
||||
],
|
||||
"eng_plate_temp_initial_layer": [
|
||||
"0"
|
||||
],
|
||||
"textured_plate_temp_initial_layer": [
|
||||
"60"
|
||||
],
|
||||
"nozzle_temperature_initial_layer": [
|
||||
"220"
|
||||
],
|
||||
"reduce_fan_stop_start_freq": [
|
||||
"1"
|
||||
],
|
||||
"overhang_fan_threshold": [
|
||||
"50%"
|
||||
],
|
||||
"close_fan_the_first_x_layers": [
|
||||
"1"
|
||||
],
|
||||
"nozzle_temperature": [
|
||||
"220"
|
||||
],
|
||||
"temperature_vitrification": [
|
||||
"45"
|
||||
],
|
||||
"nozzle_temperature_range_low": [
|
||||
"190"
|
||||
],
|
||||
"nozzle_temperature_range_high": [
|
||||
"240"
|
||||
],
|
||||
"slow_down_min_speed": [
|
||||
"20"
|
||||
],
|
||||
"additional_cooling_fan_speed": [
|
||||
"0"
|
||||
],
|
||||
"fan_cooling_layer_time": [
|
||||
"80"
|
||||
],
|
||||
"fan_min_speed": [
|
||||
"50"
|
||||
],
|
||||
"hot_plate_temp": [
|
||||
"60"
|
||||
],
|
||||
"hot_plate_temp_initial_layer": [
|
||||
"60"
|
||||
],
|
||||
"slow_down_layer_time": [
|
||||
"8"
|
||||
],
|
||||
"filament_start_gcode": [
|
||||
"; Filament start gcode\n"
|
||||
],
|
||||
"filament_end_gcode": [
|
||||
"; filament end gcode \n"
|
||||
],
|
||||
"filament_vendor": [
|
||||
"Generic"
|
||||
]
|
||||
}
|
||||
+2
-1
@@ -1,14 +1,15 @@
|
||||
{
|
||||
"type": "process",
|
||||
"name": "0.30mm Standard @Elegoo Giga 0.6 nozzle",
|
||||
"renamed_from": "0.30mm Standard @EOS Giga 0.6 nozzle",
|
||||
"inherits": "fdm_process_elegoo_06030",
|
||||
"from": "system",
|
||||
"setting_id": "mMP6cZhv9TYjYlEh",
|
||||
"instantiation": "true",
|
||||
"renamed_from": "0.30mm Standard @EOS Giga 0.6 nozzle",
|
||||
"default_acceleration": "3000",
|
||||
"filename_format": "EOGiga1_{nozzle_diameter[0]}_{input_filename_base}_{filament_name}_{layer_height}_{print_time}.gcode",
|
||||
"initial_layer_acceleration": "1000",
|
||||
"is_custom_defined": "0",
|
||||
"make_overhang_printable_angle": "90",
|
||||
"outer_wall_acceleration": "2000",
|
||||
"resolution": "0.05",
|
||||
|
||||
@@ -24,6 +24,7 @@
|
||||
"sparse_infill_speed": "100",
|
||||
"inner_wall_speed": "100",
|
||||
"internal_solid_infill_speed": "100",
|
||||
"is_custom_defined": "0",
|
||||
"outer_wall_speed": "60",
|
||||
"top_surface_speed": "80"
|
||||
}
|
||||
|
||||
@@ -244,10 +244,26 @@
|
||||
"name": "Generic PLA @FLSun S1",
|
||||
"sub_path": "filament/Generic PLA @FLSun S1.json"
|
||||
},
|
||||
{
|
||||
"name": "Generic PLA High Speed @FLSun S1",
|
||||
"sub_path": "filament/Generic PLA High Speed @FLSun S1.json"
|
||||
},
|
||||
{
|
||||
"name": "Generic PLA Silk @FLSun S1",
|
||||
"sub_path": "filament/Generic PLA Silk @FLSun S1.json"
|
||||
},
|
||||
{
|
||||
"name": "Generic PLA @FLSun T1",
|
||||
"sub_path": "filament/Generic PLA @FLSun T1.json"
|
||||
},
|
||||
{
|
||||
"name": "Generic PLA High Speed @FLSun T1",
|
||||
"sub_path": "filament/Generic PLA High Speed @FLSun T1.json"
|
||||
},
|
||||
{
|
||||
"name": "Generic PLA Silk @FLSun T1",
|
||||
"sub_path": "filament/Generic PLA Silk @FLSun T1.json"
|
||||
},
|
||||
{
|
||||
"name": "Generic TPU @FLSun S1",
|
||||
"sub_path": "filament/Generic TPU @FLSun S1.json"
|
||||
@@ -255,22 +271,6 @@
|
||||
{
|
||||
"name": "Generic TPU @FLSun T1",
|
||||
"sub_path": "filament/Generic TPU @FLSun T1.json"
|
||||
},
|
||||
{
|
||||
"name": "Generic PLA High Speed @FLSun S1",
|
||||
"sub_path": "filament/Generic PLA High Speed @FLSun S1.json"
|
||||
},
|
||||
{
|
||||
"name": "Generic PLA High Speed @FLSun T1",
|
||||
"sub_path": "filament/Generic PLA High Speed @FLSun T1.json"
|
||||
},
|
||||
{
|
||||
"name": "Generic PLA Silk @FLSun S1",
|
||||
"sub_path": "filament/Generic PLA Silk @FLSun S1.json"
|
||||
},
|
||||
{
|
||||
"name": "Generic PLA Silk @FLSun T1",
|
||||
"sub_path": "filament/Generic PLA Silk @FLSun T1.json"
|
||||
}
|
||||
],
|
||||
"machine_list": [
|
||||
|
||||
+374
-374
@@ -439,6 +439,22 @@
|
||||
"name": "0.14mm Standard @FF AD5X 0.25 nozzle",
|
||||
"sub_path": "process/0.14mm Standard @FF AD5X 0.25 nozzle.json"
|
||||
},
|
||||
{
|
||||
"name": "0.08mm Standard @FF C5 0.25 nozzle",
|
||||
"sub_path": "process/0.08mm Standard @FF C5 0.25 nozzle.json"
|
||||
},
|
||||
{
|
||||
"name": "0.10mm Standard @FF C5 0.25 nozzle",
|
||||
"sub_path": "process/0.10mm Standard @FF C5 0.25 nozzle.json"
|
||||
},
|
||||
{
|
||||
"name": "0.12mm Standard @FF C5 0.25 nozzle",
|
||||
"sub_path": "process/0.12mm Standard @FF C5 0.25 nozzle.json"
|
||||
},
|
||||
{
|
||||
"name": "0.14mm Standard @FF C5 0.25 nozzle",
|
||||
"sub_path": "process/0.14mm Standard @FF C5 0.25 nozzle.json"
|
||||
},
|
||||
{
|
||||
"name": "0.14mm Standard @Flashforge AD5M 0.25 Nozzle",
|
||||
"sub_path": "process/0.14mm Standard @Flashforge AD5M 0.25 Nozzle.json"
|
||||
@@ -511,22 +527,6 @@
|
||||
"name": "0.42mm Draft @FF AD5X 0.6 nozzle",
|
||||
"sub_path": "process/0.42mm Draft @FF AD5X 0.6 nozzle.json"
|
||||
},
|
||||
{
|
||||
"name": "0.08mm Standard @FF C5 0.25 nozzle",
|
||||
"sub_path": "process/0.08mm Standard @FF C5 0.25 nozzle.json"
|
||||
},
|
||||
{
|
||||
"name": "0.10mm Standard @FF C5 0.25 nozzle",
|
||||
"sub_path": "process/0.10mm Standard @FF C5 0.25 nozzle.json"
|
||||
},
|
||||
{
|
||||
"name": "0.12mm Standard @FF C5 0.25 nozzle",
|
||||
"sub_path": "process/0.12mm Standard @FF C5 0.25 nozzle.json"
|
||||
},
|
||||
{
|
||||
"name": "0.14mm Standard @FF C5 0.25 nozzle",
|
||||
"sub_path": "process/0.14mm Standard @FF C5 0.25 nozzle.json"
|
||||
},
|
||||
{
|
||||
"name": "0.24mm Fine @FF AD5X 0.8 nozzle",
|
||||
"sub_path": "process/0.24mm Fine @FF AD5X 0.8 nozzle.json"
|
||||
@@ -573,29 +573,25 @@
|
||||
"name": "Generic ASA @Flashforge",
|
||||
"sub_path": "filament/Generic ASA @Flashforge.json"
|
||||
},
|
||||
{
|
||||
"name": "Flashforge PETG",
|
||||
"sub_path": "filament/Flashforge/Flashforge PETG @FF AD3.json"
|
||||
},
|
||||
{
|
||||
"name": "Generic PETG @Flashforge",
|
||||
"sub_path": "filament/Generic PETG @Flashforge.json"
|
||||
},
|
||||
{
|
||||
"name": "Generic PETG @Flashforge Artemis",
|
||||
"sub_path": "filament/Flashforge Generic PETG @Flashforge Artemis.json"
|
||||
},
|
||||
{
|
||||
"name": "Generic PETG-CF10 @Flashforge",
|
||||
"sub_path": "filament/Generic PETG-CF10 @Flashforge.json"
|
||||
},
|
||||
{
|
||||
"name": "SUNLU PETG @base",
|
||||
"sub_path": "filament/SUNLU/SUNLU PETG @base.json"
|
||||
"name": "Flashforge PETG",
|
||||
"sub_path": "filament/Flashforge/Flashforge PETG @FF AD3.json"
|
||||
},
|
||||
{
|
||||
"name": "Flashforge PLA",
|
||||
"sub_path": "filament/Flashforge/Flashforge PLA @FF AD3.json"
|
||||
"name": "Generic PETG @Flashforge Artemis",
|
||||
"sub_path": "filament/Flashforge Generic PETG @Flashforge Artemis.json"
|
||||
},
|
||||
{
|
||||
"name": "SUNLU PETG @base",
|
||||
"sub_path": "filament/SUNLU/SUNLU PETG @base.json"
|
||||
},
|
||||
{
|
||||
"name": "Generic HS PLA @Flashforge",
|
||||
@@ -613,6 +609,10 @@
|
||||
"name": "Generic PLA-Silk @Flashforge",
|
||||
"sub_path": "filament/Generic PLA-Silk @Flashforge.json"
|
||||
},
|
||||
{
|
||||
"name": "Flashforge PLA",
|
||||
"sub_path": "filament/Flashforge/Flashforge PLA @FF AD3.json"
|
||||
},
|
||||
{
|
||||
"name": "SUNLU PLA Marble @base",
|
||||
"sub_path": "filament/SUNLU/SUNLU PLA Marble @base.json"
|
||||
@@ -709,10 +709,6 @@
|
||||
"name": "Generic ABS @FF AD5M 0.25 Nozzle",
|
||||
"sub_path": "filament/Generic ABS @FF AD5M 0.25 Nozzle.json"
|
||||
},
|
||||
{
|
||||
"name": "Generic ABS @Flashforge AD4",
|
||||
"sub_path": "filament/Generic ABS @Flashforge AD4.json"
|
||||
},
|
||||
{
|
||||
"name": "Generic ABS @Flashforge G3U",
|
||||
"sub_path": "filament/Generic ABS @Flashforge G3U.json"
|
||||
@@ -733,6 +729,10 @@
|
||||
"name": "Generic HIPS @Flashforge G3U 0.6 Nozzle",
|
||||
"sub_path": "filament/Generic HIPS @Flashforge G3U 0.6 Nozzle.json"
|
||||
},
|
||||
{
|
||||
"name": "Generic ABS @Flashforge AD4",
|
||||
"sub_path": "filament/Generic ABS @Flashforge AD4.json"
|
||||
},
|
||||
{
|
||||
"name": "Flashforge ASA @FF AD5M 0.25 Nozzle",
|
||||
"sub_path": "filament/Flashforge ASA @FF AD5M 0.25 Nozzle.json"
|
||||
@@ -745,13 +745,41 @@
|
||||
"name": "Generic ASA @FF AD5M 0.25 Nozzle",
|
||||
"sub_path": "filament/Generic ASA @FF AD5M 0.25 Nozzle.json"
|
||||
},
|
||||
{
|
||||
"name": "Generic ASA @Flashforge G3U 0.6 Nozzle",
|
||||
"sub_path": "filament/Generic ASA @Flashforge G3U 0.6 Nozzle.json"
|
||||
},
|
||||
{
|
||||
"name": "Generic ASA @Flashforge AD4",
|
||||
"sub_path": "filament/Generic ASA @Flashforge AD4.json"
|
||||
},
|
||||
{
|
||||
"name": "Generic ASA @Flashforge G3U 0.6 Nozzle",
|
||||
"sub_path": "filament/Generic ASA @Flashforge G3U 0.6 Nozzle.json"
|
||||
"name": "Generic PETG @FF AD5M 0.25 Nozzle",
|
||||
"sub_path": "filament/Generic PETG @FF AD5M 0.25 Nozzle.json"
|
||||
},
|
||||
{
|
||||
"name": "Generic PETG @Flashforge G3U",
|
||||
"sub_path": "filament/Generic PETG @Flashforge G3U.json"
|
||||
},
|
||||
{
|
||||
"name": "Generic PETG @Flashforge G3U 0.6 Nozzle",
|
||||
"sub_path": "filament/Generic PETG @Flashforge G3U 0.6 Nozzle.json"
|
||||
},
|
||||
{
|
||||
"name": "Generic PETG @Flashforge G3U 0.8 Nozzle",
|
||||
"sub_path": "filament/Generic PETG @Flashforge G3U 0.8 Nozzle.json"
|
||||
},
|
||||
{
|
||||
"name": "Generic PETG-CF @Flashforge G3U",
|
||||
"sub_path": "filament/Generic PETG-CF @Flashforge G3U.json"
|
||||
},
|
||||
{
|
||||
"name": "Generic PETG-CF @Flashforge G3U 0.6 Nozzle",
|
||||
"sub_path": "filament/Generic PETG-CF @Flashforge G3U 0.6 Nozzle.json"
|
||||
},
|
||||
{
|
||||
"name": "Generic PETG-CF @Flashforge G3U 0.8 Nozzle",
|
||||
"sub_path": "filament/Generic PETG-CF @Flashforge G3U 0.8 Nozzle.json"
|
||||
},
|
||||
{
|
||||
"name": "Flashforge HS PETG",
|
||||
@@ -877,38 +905,10 @@
|
||||
"name": "FusRock S-PAHT @G3U 0.6 Nozzle",
|
||||
"sub_path": "filament/FusRock/FusRock S-PAHT @G3U 0.6 Nozzle.json"
|
||||
},
|
||||
{
|
||||
"name": "Generic PETG @FF AD5M 0.25 Nozzle",
|
||||
"sub_path": "filament/Generic PETG @FF AD5M 0.25 Nozzle.json"
|
||||
},
|
||||
{
|
||||
"name": "Generic PETG @Flashforge AD4",
|
||||
"sub_path": "filament/Generic PETG @Flashforge AD4.json"
|
||||
},
|
||||
{
|
||||
"name": "Generic PETG @Flashforge G3U",
|
||||
"sub_path": "filament/Generic PETG @Flashforge G3U.json"
|
||||
},
|
||||
{
|
||||
"name": "Generic PETG @Flashforge G3U 0.6 Nozzle",
|
||||
"sub_path": "filament/Generic PETG @Flashforge G3U 0.6 Nozzle.json"
|
||||
},
|
||||
{
|
||||
"name": "Generic PETG @Flashforge G3U 0.8 Nozzle",
|
||||
"sub_path": "filament/Generic PETG @Flashforge G3U 0.8 Nozzle.json"
|
||||
},
|
||||
{
|
||||
"name": "Generic PETG-CF @Flashforge G3U",
|
||||
"sub_path": "filament/Generic PETG-CF @Flashforge G3U.json"
|
||||
},
|
||||
{
|
||||
"name": "Generic PETG-CF @Flashforge G3U 0.6 Nozzle",
|
||||
"sub_path": "filament/Generic PETG-CF @Flashforge G3U 0.6 Nozzle.json"
|
||||
},
|
||||
{
|
||||
"name": "Generic PETG-CF @Flashforge G3U 0.8 Nozzle",
|
||||
"sub_path": "filament/Generic PETG-CF @Flashforge G3U 0.8 Nozzle.json"
|
||||
},
|
||||
{
|
||||
"name": "Flashforge PETG-CF",
|
||||
"sub_path": "filament/Flashforge PETG-CF.json"
|
||||
@@ -945,6 +945,10 @@
|
||||
"name": "SUNLU PETG @FF AD5M 0.8 Nozzle",
|
||||
"sub_path": "filament/SUNLU/SUNLU PETG @FF AD5M 0.8 nozzle.json"
|
||||
},
|
||||
{
|
||||
"name": "Generic HS PLA @FF AD5M 0.25 Nozzle",
|
||||
"sub_path": "filament/Generic HS PLA @FF AD5M 0.25 Nozzle.json"
|
||||
},
|
||||
{
|
||||
"name": "Flashforge HIPS @FF G4",
|
||||
"sub_path": "filament/Flashforge HIPS @FF G4.json"
|
||||
@@ -1045,14 +1049,42 @@
|
||||
"name": "Flashforge PLA-CF @FF G4P",
|
||||
"sub_path": "filament/Flashforge PLA-CF @FF G4P.json"
|
||||
},
|
||||
{
|
||||
"name": "Generic HS PLA @FF AD5M 0.25 Nozzle",
|
||||
"sub_path": "filament/Generic HS PLA @FF AD5M 0.25 Nozzle.json"
|
||||
},
|
||||
{
|
||||
"name": "Generic PLA High Speed @Flashforge AD4",
|
||||
"sub_path": "filament/Generic PLA High Speed @Flashforge AD4.json"
|
||||
},
|
||||
{
|
||||
"name": "Generic PLA @FF AD5M 0.25 Nozzle",
|
||||
"sub_path": "filament/Generic PLA @FF AD5M 0.25 Nozzle.json"
|
||||
},
|
||||
{
|
||||
"name": "Generic PLA @Flashforge G3U",
|
||||
"sub_path": "filament/Generic PLA @Flashforge G3U.json"
|
||||
},
|
||||
{
|
||||
"name": "Generic PLA @Flashforge G3U 0.6 Nozzle",
|
||||
"sub_path": "filament/Generic PLA @Flashforge G3U 0.6 Nozzle.json"
|
||||
},
|
||||
{
|
||||
"name": "Generic PLA @Flashforge G3U 0.8 Nozzle",
|
||||
"sub_path": "filament/Generic PLA @Flashforge G3U 0.8 Nozzle.json"
|
||||
},
|
||||
{
|
||||
"name": "Generic PLA-CF @Flashforge G3U",
|
||||
"sub_path": "filament/Generic PLA-CF @Flashforge G3U.json"
|
||||
},
|
||||
{
|
||||
"name": "Generic PLA-CF @Flashforge G3U 0.6 Nozzle",
|
||||
"sub_path": "filament/Generic PLA-CF @Flashforge G3U 0.6 Nozzle.json"
|
||||
},
|
||||
{
|
||||
"name": "Generic PLA-CF @Flashforge G3U 0.8 Nozzle",
|
||||
"sub_path": "filament/Generic PLA-CF @Flashforge G3U 0.8 Nozzle.json"
|
||||
},
|
||||
{
|
||||
"name": "Generic PVA @Flashforge",
|
||||
"sub_path": "filament/Generic PVA @Flashforge.json"
|
||||
},
|
||||
{
|
||||
"name": "Flashforge HS PLA",
|
||||
"sub_path": "filament/Flashforge HS PLA.json"
|
||||
@@ -1201,42 +1233,10 @@
|
||||
"name": "Flashforge PLA Sparkle @FF AD5X 0.8 nozzle",
|
||||
"sub_path": "filament/Flashforge PLA Sparkle @FF AD5X 0.8 nozzle.json"
|
||||
},
|
||||
{
|
||||
"name": "Generic PLA @FF AD5M 0.25 Nozzle",
|
||||
"sub_path": "filament/Generic PLA @FF AD5M 0.25 Nozzle.json"
|
||||
},
|
||||
{
|
||||
"name": "Generic PLA @Flashforge AD4",
|
||||
"sub_path": "filament/Generic PLA @Flashforge AD4.json"
|
||||
},
|
||||
{
|
||||
"name": "Generic PLA @Flashforge G3U",
|
||||
"sub_path": "filament/Generic PLA @Flashforge G3U.json"
|
||||
},
|
||||
{
|
||||
"name": "Generic PLA @Flashforge G3U 0.6 Nozzle",
|
||||
"sub_path": "filament/Generic PLA @Flashforge G3U 0.6 Nozzle.json"
|
||||
},
|
||||
{
|
||||
"name": "Generic PLA @Flashforge G3U 0.8 Nozzle",
|
||||
"sub_path": "filament/Generic PLA @Flashforge G3U 0.8 Nozzle.json"
|
||||
},
|
||||
{
|
||||
"name": "Generic PLA-CF @Flashforge G3U",
|
||||
"sub_path": "filament/Generic PLA-CF @Flashforge G3U.json"
|
||||
},
|
||||
{
|
||||
"name": "Generic PLA-CF @Flashforge G3U 0.6 Nozzle",
|
||||
"sub_path": "filament/Generic PLA-CF @Flashforge G3U 0.6 Nozzle.json"
|
||||
},
|
||||
{
|
||||
"name": "Generic PLA-CF @Flashforge G3U 0.8 Nozzle",
|
||||
"sub_path": "filament/Generic PLA-CF @Flashforge G3U 0.8 Nozzle.json"
|
||||
},
|
||||
{
|
||||
"name": "Generic PVA @Flashforge",
|
||||
"sub_path": "filament/Generic PVA @Flashforge.json"
|
||||
},
|
||||
{
|
||||
"name": "Polymaker CoPA",
|
||||
"sub_path": "filament/Polymaker/Polymaker CoPA.json"
|
||||
@@ -1297,6 +1297,10 @@
|
||||
"name": "Generic PLA-CF10 @Flashforge AD4",
|
||||
"sub_path": "filament/Generic PLA-CF10 @Flashforge AD4.json"
|
||||
},
|
||||
{
|
||||
"name": "Generic PLA-SILK @FF AD5M 0.25 Nozzle",
|
||||
"sub_path": "filament/Generic PLA-SILK @FF AD5M 0.25 Nozzle.json"
|
||||
},
|
||||
{
|
||||
"name": "Flashforge PLA Silk",
|
||||
"sub_path": "filament/Flashforge PLA Silk.json"
|
||||
@@ -1321,10 +1325,6 @@
|
||||
"name": "Generic PLA Silk @Flashforge AD4",
|
||||
"sub_path": "filament/Generic PLA Silk @Flashforge AD4.json"
|
||||
},
|
||||
{
|
||||
"name": "Generic PLA-SILK @FF AD5M 0.25 Nozzle",
|
||||
"sub_path": "filament/Generic PLA-SILK @FF AD5M 0.25 Nozzle.json"
|
||||
},
|
||||
{
|
||||
"name": "SUNLU PLA Marble @FF AD3",
|
||||
"sub_path": "filament/SUNLU/SUNLU PLA Marble @FF AD3.json"
|
||||
@@ -1709,6 +1709,102 @@
|
||||
"name": "Flashforge ASA Basic @FF AD5X 0.25 nozzle",
|
||||
"sub_path": "filament/Flashforge ASA Basic @FF AD5X 0.25 nozzle.json"
|
||||
},
|
||||
{
|
||||
"name": "Flashforge HS PETG @FF G4 0.6 HF nozzle",
|
||||
"sub_path": "filament/Flashforge HS PETG @FF G4 0.6 HF nozzle.json"
|
||||
},
|
||||
{
|
||||
"name": "Flashforge HS PETG @FF G4 0.6 nozzle",
|
||||
"sub_path": "filament/Flashforge HS PETG @FF G4 0.6 nozzle.json"
|
||||
},
|
||||
{
|
||||
"name": "Flashforge HS PETG @FF G4 0.8 HF nozzle",
|
||||
"sub_path": "filament/Flashforge HS PETG @FF G4 0.8 HF nozzle.json"
|
||||
},
|
||||
{
|
||||
"name": "Flashforge HS PETG @FF G4P 0.6 HF nozzle",
|
||||
"sub_path": "filament/Flashforge HS PETG @FF G4P 0.6 HF nozzle.json"
|
||||
},
|
||||
{
|
||||
"name": "Flashforge HS PETG @FF G4P 0.6 nozzle",
|
||||
"sub_path": "filament/Flashforge HS PETG @FF G4P 0.6 nozzle.json"
|
||||
},
|
||||
{
|
||||
"name": "Flashforge HS PETG @FF G4P 0.8 HF nozzle",
|
||||
"sub_path": "filament/Flashforge HS PETG @FF G4P 0.8 HF nozzle.json"
|
||||
},
|
||||
{
|
||||
"name": "Flashforge PETG Pro @FF G4 0.6 HF nozzle",
|
||||
"sub_path": "filament/Flashforge PETG Pro @FF G4 0.6 HF nozzle.json"
|
||||
},
|
||||
{
|
||||
"name": "Flashforge PETG Pro @FF G4 0.6 nozzle",
|
||||
"sub_path": "filament/Flashforge PETG Pro @FF G4 0.6 nozzle.json"
|
||||
},
|
||||
{
|
||||
"name": "Flashforge PETG Pro @FF G4 0.8 HF nozzle",
|
||||
"sub_path": "filament/Flashforge PETG Pro @FF G4 0.8 HF nozzle.json"
|
||||
},
|
||||
{
|
||||
"name": "Flashforge PETG Pro @FF G4P 0.6 HF nozzle",
|
||||
"sub_path": "filament/Flashforge PETG Pro @FF G4P 0.6 HF nozzle.json"
|
||||
},
|
||||
{
|
||||
"name": "Flashforge PETG Pro @FF G4P 0.6 nozzle",
|
||||
"sub_path": "filament/Flashforge PETG Pro @FF G4P 0.6 nozzle.json"
|
||||
},
|
||||
{
|
||||
"name": "Flashforge PETG Pro @FF G4P 0.8 HF nozzle",
|
||||
"sub_path": "filament/Flashforge PETG Pro @FF G4P 0.8 HF nozzle.json"
|
||||
},
|
||||
{
|
||||
"name": "Flashforge PETG Transparent @FF G4 0.6 HF nozzle",
|
||||
"sub_path": "filament/Flashforge PETG Transparent @FF G4 0.6 HF nozzle.json"
|
||||
},
|
||||
{
|
||||
"name": "Flashforge PETG Transparent @FF G4 0.6 nozzle",
|
||||
"sub_path": "filament/Flashforge PETG Transparent @FF G4 0.6 nozzle.json"
|
||||
},
|
||||
{
|
||||
"name": "Flashforge PETG Transparent @FF G4 0.8 HF nozzle",
|
||||
"sub_path": "filament/Flashforge PETG Transparent @FF G4 0.8 HF nozzle.json"
|
||||
},
|
||||
{
|
||||
"name": "Flashforge PETG Transparent @FF G4P 0.6 HF nozzle",
|
||||
"sub_path": "filament/Flashforge PETG Transparent @FF G4P 0.6 HF nozzle.json"
|
||||
},
|
||||
{
|
||||
"name": "Flashforge PETG Transparent @FF G4P 0.6 nozzle",
|
||||
"sub_path": "filament/Flashforge PETG Transparent @FF G4P 0.6 nozzle.json"
|
||||
},
|
||||
{
|
||||
"name": "Flashforge PETG Transparent @FF G4P 0.8 HF nozzle",
|
||||
"sub_path": "filament/Flashforge PETG Transparent @FF G4P 0.8 HF nozzle.json"
|
||||
},
|
||||
{
|
||||
"name": "Flashforge TPU 65D @FF G4 0.6 HF nozzle",
|
||||
"sub_path": "filament/Flashforge TPU 65D @FF G4 0.6 HF nozzle.json"
|
||||
},
|
||||
{
|
||||
"name": "Flashforge TPU 65D @FF G4P 0.6 HF nozzle",
|
||||
"sub_path": "filament/Flashforge TPU 65D @FF G4P 0.6 HF nozzle.json"
|
||||
},
|
||||
{
|
||||
"name": "Flashforge TPU 95A @FF G4 0.6 HF nozzle",
|
||||
"sub_path": "filament/Flashforge TPU 95A @FF G4 0.6 HF nozzle.json"
|
||||
},
|
||||
{
|
||||
"name": "Flashforge TPU 95A @FF G4P 0.6 HF nozzle",
|
||||
"sub_path": "filament/Flashforge TPU 95A @FF G4P 0.6 HF nozzle.json"
|
||||
},
|
||||
{
|
||||
"name": "Flashforge PETG-CF @FF G4 0.6 nozzle",
|
||||
"sub_path": "filament/Flashforge PETG-CF @FF G4 0.6 nozzle.json"
|
||||
},
|
||||
{
|
||||
"name": "Flashforge PETG-CF @FF G4P 0.6 nozzle",
|
||||
"sub_path": "filament/Flashforge PETG-CF @FF G4P 0.6 nozzle.json"
|
||||
},
|
||||
{
|
||||
"name": "Flashforge HS PETG @FF AD5M 0.25 nozzle",
|
||||
"sub_path": "filament/Flashforge HS PETG @FF AD5M 0.25 nozzle.json"
|
||||
@@ -1949,254 +2045,6 @@
|
||||
"name": "Polymaker CoPA @FF G4P 0.8 HF nozzle",
|
||||
"sub_path": "filament/Polymaker CoPA @FF G4P 0.8 HF nozzle.json"
|
||||
},
|
||||
{
|
||||
"name": "Flashforge HS PETG @FF G4 0.6 HF nozzle",
|
||||
"sub_path": "filament/Flashforge HS PETG @FF G4 0.6 HF nozzle.json"
|
||||
},
|
||||
{
|
||||
"name": "Flashforge HS PETG @FF G4 0.6 nozzle",
|
||||
"sub_path": "filament/Flashforge HS PETG @FF G4 0.6 nozzle.json"
|
||||
},
|
||||
{
|
||||
"name": "Flashforge HS PETG @FF G4 0.8 HF nozzle",
|
||||
"sub_path": "filament/Flashforge HS PETG @FF G4 0.8 HF nozzle.json"
|
||||
},
|
||||
{
|
||||
"name": "Flashforge HS PETG @FF G4P 0.6 HF nozzle",
|
||||
"sub_path": "filament/Flashforge HS PETG @FF G4P 0.6 HF nozzle.json"
|
||||
},
|
||||
{
|
||||
"name": "Flashforge HS PETG @FF G4P 0.6 nozzle",
|
||||
"sub_path": "filament/Flashforge HS PETG @FF G4P 0.6 nozzle.json"
|
||||
},
|
||||
{
|
||||
"name": "Flashforge HS PETG @FF G4P 0.8 HF nozzle",
|
||||
"sub_path": "filament/Flashforge HS PETG @FF G4P 0.8 HF nozzle.json"
|
||||
},
|
||||
{
|
||||
"name": "Flashforge PETG Pro @FF G4 0.6 HF nozzle",
|
||||
"sub_path": "filament/Flashforge PETG Pro @FF G4 0.6 HF nozzle.json"
|
||||
},
|
||||
{
|
||||
"name": "Flashforge PETG Pro @FF G4 0.6 nozzle",
|
||||
"sub_path": "filament/Flashforge PETG Pro @FF G4 0.6 nozzle.json"
|
||||
},
|
||||
{
|
||||
"name": "Flashforge PETG Pro @FF G4 0.8 HF nozzle",
|
||||
"sub_path": "filament/Flashforge PETG Pro @FF G4 0.8 HF nozzle.json"
|
||||
},
|
||||
{
|
||||
"name": "Flashforge PETG Pro @FF G4P 0.6 HF nozzle",
|
||||
"sub_path": "filament/Flashforge PETG Pro @FF G4P 0.6 HF nozzle.json"
|
||||
},
|
||||
{
|
||||
"name": "Flashforge PETG Pro @FF G4P 0.6 nozzle",
|
||||
"sub_path": "filament/Flashforge PETG Pro @FF G4P 0.6 nozzle.json"
|
||||
},
|
||||
{
|
||||
"name": "Flashforge PETG Pro @FF G4P 0.8 HF nozzle",
|
||||
"sub_path": "filament/Flashforge PETG Pro @FF G4P 0.8 HF nozzle.json"
|
||||
},
|
||||
{
|
||||
"name": "Flashforge PETG Transparent @FF G4 0.6 HF nozzle",
|
||||
"sub_path": "filament/Flashforge PETG Transparent @FF G4 0.6 HF nozzle.json"
|
||||
},
|
||||
{
|
||||
"name": "Flashforge PETG Transparent @FF G4 0.6 nozzle",
|
||||
"sub_path": "filament/Flashforge PETG Transparent @FF G4 0.6 nozzle.json"
|
||||
},
|
||||
{
|
||||
"name": "Flashforge PETG Transparent @FF G4 0.8 HF nozzle",
|
||||
"sub_path": "filament/Flashforge PETG Transparent @FF G4 0.8 HF nozzle.json"
|
||||
},
|
||||
{
|
||||
"name": "Flashforge PETG Transparent @FF G4P 0.6 HF nozzle",
|
||||
"sub_path": "filament/Flashforge PETG Transparent @FF G4P 0.6 HF nozzle.json"
|
||||
},
|
||||
{
|
||||
"name": "Flashforge PETG Transparent @FF G4P 0.6 nozzle",
|
||||
"sub_path": "filament/Flashforge PETG Transparent @FF G4P 0.6 nozzle.json"
|
||||
},
|
||||
{
|
||||
"name": "Flashforge PETG Transparent @FF G4P 0.8 HF nozzle",
|
||||
"sub_path": "filament/Flashforge PETG Transparent @FF G4P 0.8 HF nozzle.json"
|
||||
},
|
||||
{
|
||||
"name": "Flashforge TPU 65D @FF G4 0.6 HF nozzle",
|
||||
"sub_path": "filament/Flashforge TPU 65D @FF G4 0.6 HF nozzle.json"
|
||||
},
|
||||
{
|
||||
"name": "Flashforge TPU 65D @FF G4P 0.6 HF nozzle",
|
||||
"sub_path": "filament/Flashforge TPU 65D @FF G4P 0.6 HF nozzle.json"
|
||||
},
|
||||
{
|
||||
"name": "Flashforge TPU 95A @FF G4 0.6 HF nozzle",
|
||||
"sub_path": "filament/Flashforge TPU 95A @FF G4 0.6 HF nozzle.json"
|
||||
},
|
||||
{
|
||||
"name": "Flashforge TPU 95A @FF G4P 0.6 HF nozzle",
|
||||
"sub_path": "filament/Flashforge TPU 95A @FF G4P 0.6 HF nozzle.json"
|
||||
},
|
||||
{
|
||||
"name": "Flashforge PETG-CF @FF G4 0.6 nozzle",
|
||||
"sub_path": "filament/Flashforge PETG-CF @FF G4 0.6 nozzle.json"
|
||||
},
|
||||
{
|
||||
"name": "Flashforge PETG-CF @FF G4P 0.6 nozzle",
|
||||
"sub_path": "filament/Flashforge PETG-CF @FF G4P 0.6 nozzle.json"
|
||||
},
|
||||
{
|
||||
"name": "Flashforge HS PLA @FF AD5X 0.25 nozzle",
|
||||
"sub_path": "filament/Flashforge HS PLA @FF AD5X 0.25 nozzle.json"
|
||||
},
|
||||
{
|
||||
"name": "Flashforge HS PLA @FF G4 0.25 nozzle",
|
||||
"sub_path": "filament/Flashforge HS PLA @FF G4 0.25 nozzle.json"
|
||||
},
|
||||
{
|
||||
"name": "Flashforge HS PLA @FF G4P 0.25 nozzle",
|
||||
"sub_path": "filament/Flashforge HS PLA @FF G4P 0.25 nozzle.json"
|
||||
},
|
||||
{
|
||||
"name": "Flashforge PLA Basic @FF AD5M 0.25 nozzle",
|
||||
"sub_path": "filament/Flashforge PLA Basic @FF AD5M 0.25 nozzle.json"
|
||||
},
|
||||
{
|
||||
"name": "Flashforge PLA Basic @FF AD5X 0.25 nozzle",
|
||||
"sub_path": "filament/Flashforge PLA Basic @FF AD5X 0.25 nozzle.json"
|
||||
},
|
||||
{
|
||||
"name": "Flashforge PLA Basic @FF G4 0.25 nozzle",
|
||||
"sub_path": "filament/Flashforge PLA Basic @FF G4 0.25 nozzle.json"
|
||||
},
|
||||
{
|
||||
"name": "Flashforge PLA Basic @FF G4P 0.25 nozzle",
|
||||
"sub_path": "filament/Flashforge PLA Basic @FF G4P 0.25 nozzle.json"
|
||||
},
|
||||
{
|
||||
"name": "Flashforge PLA Color Change @FF AD5M 0.25 nozzle",
|
||||
"sub_path": "filament/Flashforge PLA Color Change @FF AD5M 0.25 nozzle.json"
|
||||
},
|
||||
{
|
||||
"name": "Flashforge PLA Color Change @FF AD5X 0.25 nozzle",
|
||||
"sub_path": "filament/Flashforge PLA Color Change @FF AD5X 0.25 nozzle.json"
|
||||
},
|
||||
{
|
||||
"name": "Flashforge PLA Color Change @FF G4 0.25 nozzle",
|
||||
"sub_path": "filament/Flashforge PLA Color Change @FF G4 0.25 nozzle.json"
|
||||
},
|
||||
{
|
||||
"name": "Flashforge PLA Color Change @FF G4P 0.25 nozzle",
|
||||
"sub_path": "filament/Flashforge PLA Color Change @FF G4P 0.25 nozzle.json"
|
||||
},
|
||||
{
|
||||
"name": "Flashforge PLA Galaxy @FF AD5M 0.25 nozzle",
|
||||
"sub_path": "filament/Flashforge PLA Galaxy @FF AD5M 0.25 nozzle.json"
|
||||
},
|
||||
{
|
||||
"name": "Flashforge PLA Galaxy @FF AD5X 0.25 nozzle",
|
||||
"sub_path": "filament/Flashforge PLA Galaxy @FF AD5X 0.25 nozzle.json"
|
||||
},
|
||||
{
|
||||
"name": "Flashforge PLA Galaxy @FF G4 0.25 nozzle",
|
||||
"sub_path": "filament/Flashforge PLA Galaxy @FF G4 0.25 nozzle.json"
|
||||
},
|
||||
{
|
||||
"name": "Flashforge PLA Galaxy @FF G4P 0.25 nozzle",
|
||||
"sub_path": "filament/Flashforge PLA Galaxy @FF G4P 0.25 nozzle.json"
|
||||
},
|
||||
{
|
||||
"name": "Flashforge PLA Luminous @FF AD5M 0.25 nozzle",
|
||||
"sub_path": "filament/Flashforge PLA Luminous @FF AD5M 0.25 nozzle.json"
|
||||
},
|
||||
{
|
||||
"name": "Flashforge PLA Luminous @FF AD5X 0.25 nozzle",
|
||||
"sub_path": "filament/Flashforge PLA Luminous @FF AD5X 0.25 nozzle.json"
|
||||
},
|
||||
{
|
||||
"name": "Flashforge PLA Luminous @FF G4 0.25 nozzle",
|
||||
"sub_path": "filament/Flashforge PLA Luminous @FF G4 0.25 nozzle.json"
|
||||
},
|
||||
{
|
||||
"name": "Flashforge PLA Luminous @FF G4P 0.25 nozzle",
|
||||
"sub_path": "filament/Flashforge PLA Luminous @FF G4P 0.25 nozzle.json"
|
||||
},
|
||||
{
|
||||
"name": "Flashforge PLA Matte @FF AD5M 0.25 nozzle",
|
||||
"sub_path": "filament/Flashforge PLA Matte @FF AD5M 0.25 nozzle.json"
|
||||
},
|
||||
{
|
||||
"name": "Flashforge PLA Matte @FF AD5X 0.25 nozzle",
|
||||
"sub_path": "filament/Flashforge PLA Matte @FF AD5X 0.25 nozzle.json"
|
||||
},
|
||||
{
|
||||
"name": "Flashforge PLA Matte @FF G4 0.25 nozzle",
|
||||
"sub_path": "filament/Flashforge PLA Matte @FF G4 0.25 nozzle.json"
|
||||
},
|
||||
{
|
||||
"name": "Flashforge PLA Matte @FF G4P 0.25 nozzle",
|
||||
"sub_path": "filament/Flashforge PLA Matte @FF G4P 0.25 nozzle.json"
|
||||
},
|
||||
{
|
||||
"name": "Flashforge PLA Metal @FF AD5M 0.25 nozzle",
|
||||
"sub_path": "filament/Flashforge PLA Metal @FF AD5M 0.25 nozzle.json"
|
||||
},
|
||||
{
|
||||
"name": "Flashforge PLA Metal @FF AD5X 0.25 nozzle",
|
||||
"sub_path": "filament/Flashforge PLA Metal @FF AD5X 0.25 nozzle.json"
|
||||
},
|
||||
{
|
||||
"name": "Flashforge PLA Metal @FF G4 0.25 nozzle",
|
||||
"sub_path": "filament/Flashforge PLA Metal @FF G4 0.25 nozzle.json"
|
||||
},
|
||||
{
|
||||
"name": "Flashforge PLA Metal @FF G4P 0.25 nozzle",
|
||||
"sub_path": "filament/Flashforge PLA Metal @FF G4P 0.25 nozzle.json"
|
||||
},
|
||||
{
|
||||
"name": "Flashforge PLA Pro @FF AD5M 0.25 nozzle",
|
||||
"sub_path": "filament/Flashforge PLA Pro @FF AD5M 0.25 nozzle.json"
|
||||
},
|
||||
{
|
||||
"name": "Flashforge PLA Pro @FF AD5X 0.25 nozzle",
|
||||
"sub_path": "filament/Flashforge PLA Pro @FF AD5X 0.25 nozzle.json"
|
||||
},
|
||||
{
|
||||
"name": "Flashforge PLA Pro @FF G4 0.25 nozzle",
|
||||
"sub_path": "filament/Flashforge PLA Pro @FF G4 0.25 nozzle.json"
|
||||
},
|
||||
{
|
||||
"name": "Flashforge PLA Pro @FF G4P 0.25 nozzle",
|
||||
"sub_path": "filament/Flashforge PLA Pro @FF G4P 0.25 nozzle.json"
|
||||
},
|
||||
{
|
||||
"name": "Flashforge PLA Silk @FF AD5X 0.25 nozzle",
|
||||
"sub_path": "filament/Flashforge PLA Silk @FF AD5X 0.25 nozzle.json"
|
||||
},
|
||||
{
|
||||
"name": "Flashforge PLA Silk @FF G4 0.25 nozzle",
|
||||
"sub_path": "filament/Flashforge PLA Silk @FF G4 0.25 nozzle.json"
|
||||
},
|
||||
{
|
||||
"name": "Flashforge PLA Silk @FF G4P 0.25 nozzle",
|
||||
"sub_path": "filament/Flashforge PLA Silk @FF G4P 0.25 nozzle.json"
|
||||
},
|
||||
{
|
||||
"name": "Flashforge PLA Sparkle @FF AD5M 0.25 nozzle",
|
||||
"sub_path": "filament/Flashforge PLA Sparkle @FF AD5M 0.25 nozzle.json"
|
||||
},
|
||||
{
|
||||
"name": "Flashforge PLA Sparkle @FF AD5X 0.25 nozzle",
|
||||
"sub_path": "filament/Flashforge PLA Sparkle @FF AD5X 0.25 nozzle.json"
|
||||
},
|
||||
{
|
||||
"name": "Flashforge PLA Sparkle @FF G4 0.25 nozzle",
|
||||
"sub_path": "filament/Flashforge PLA Sparkle @FF G4 0.25 nozzle.json"
|
||||
},
|
||||
{
|
||||
"name": "Flashforge PLA Sparkle @FF G4P 0.25 nozzle",
|
||||
"sub_path": "filament/Flashforge PLA Sparkle @FF G4P 0.25 nozzle.json"
|
||||
},
|
||||
{
|
||||
"name": "Flashforge HS PLA @FF G4 0.6 HF nozzle",
|
||||
"sub_path": "filament/Flashforge HS PLA @FF G4 0.6 HF nozzle.json"
|
||||
@@ -2493,6 +2341,158 @@
|
||||
"name": "Flashforge PLA-CF @FF G4P 0.6 nozzle",
|
||||
"sub_path": "filament/Flashforge PLA-CF @FF G4P 0.6 nozzle.json"
|
||||
},
|
||||
{
|
||||
"name": "Flashforge HS PLA @FF AD5X 0.25 nozzle",
|
||||
"sub_path": "filament/Flashforge HS PLA @FF AD5X 0.25 nozzle.json"
|
||||
},
|
||||
{
|
||||
"name": "Flashforge HS PLA @FF G4 0.25 nozzle",
|
||||
"sub_path": "filament/Flashforge HS PLA @FF G4 0.25 nozzle.json"
|
||||
},
|
||||
{
|
||||
"name": "Flashforge HS PLA @FF G4P 0.25 nozzle",
|
||||
"sub_path": "filament/Flashforge HS PLA @FF G4P 0.25 nozzle.json"
|
||||
},
|
||||
{
|
||||
"name": "Flashforge PLA Basic @FF AD5M 0.25 nozzle",
|
||||
"sub_path": "filament/Flashforge PLA Basic @FF AD5M 0.25 nozzle.json"
|
||||
},
|
||||
{
|
||||
"name": "Flashforge PLA Basic @FF AD5X 0.25 nozzle",
|
||||
"sub_path": "filament/Flashforge PLA Basic @FF AD5X 0.25 nozzle.json"
|
||||
},
|
||||
{
|
||||
"name": "Flashforge PLA Basic @FF G4 0.25 nozzle",
|
||||
"sub_path": "filament/Flashforge PLA Basic @FF G4 0.25 nozzle.json"
|
||||
},
|
||||
{
|
||||
"name": "Flashforge PLA Basic @FF G4P 0.25 nozzle",
|
||||
"sub_path": "filament/Flashforge PLA Basic @FF G4P 0.25 nozzle.json"
|
||||
},
|
||||
{
|
||||
"name": "Flashforge PLA Color Change @FF AD5M 0.25 nozzle",
|
||||
"sub_path": "filament/Flashforge PLA Color Change @FF AD5M 0.25 nozzle.json"
|
||||
},
|
||||
{
|
||||
"name": "Flashforge PLA Color Change @FF AD5X 0.25 nozzle",
|
||||
"sub_path": "filament/Flashforge PLA Color Change @FF AD5X 0.25 nozzle.json"
|
||||
},
|
||||
{
|
||||
"name": "Flashforge PLA Color Change @FF G4 0.25 nozzle",
|
||||
"sub_path": "filament/Flashforge PLA Color Change @FF G4 0.25 nozzle.json"
|
||||
},
|
||||
{
|
||||
"name": "Flashforge PLA Color Change @FF G4P 0.25 nozzle",
|
||||
"sub_path": "filament/Flashforge PLA Color Change @FF G4P 0.25 nozzle.json"
|
||||
},
|
||||
{
|
||||
"name": "Flashforge PLA Galaxy @FF AD5M 0.25 nozzle",
|
||||
"sub_path": "filament/Flashforge PLA Galaxy @FF AD5M 0.25 nozzle.json"
|
||||
},
|
||||
{
|
||||
"name": "Flashforge PLA Galaxy @FF AD5X 0.25 nozzle",
|
||||
"sub_path": "filament/Flashforge PLA Galaxy @FF AD5X 0.25 nozzle.json"
|
||||
},
|
||||
{
|
||||
"name": "Flashforge PLA Galaxy @FF G4 0.25 nozzle",
|
||||
"sub_path": "filament/Flashforge PLA Galaxy @FF G4 0.25 nozzle.json"
|
||||
},
|
||||
{
|
||||
"name": "Flashforge PLA Galaxy @FF G4P 0.25 nozzle",
|
||||
"sub_path": "filament/Flashforge PLA Galaxy @FF G4P 0.25 nozzle.json"
|
||||
},
|
||||
{
|
||||
"name": "Flashforge PLA Luminous @FF AD5M 0.25 nozzle",
|
||||
"sub_path": "filament/Flashforge PLA Luminous @FF AD5M 0.25 nozzle.json"
|
||||
},
|
||||
{
|
||||
"name": "Flashforge PLA Luminous @FF AD5X 0.25 nozzle",
|
||||
"sub_path": "filament/Flashforge PLA Luminous @FF AD5X 0.25 nozzle.json"
|
||||
},
|
||||
{
|
||||
"name": "Flashforge PLA Luminous @FF G4 0.25 nozzle",
|
||||
"sub_path": "filament/Flashforge PLA Luminous @FF G4 0.25 nozzle.json"
|
||||
},
|
||||
{
|
||||
"name": "Flashforge PLA Luminous @FF G4P 0.25 nozzle",
|
||||
"sub_path": "filament/Flashforge PLA Luminous @FF G4P 0.25 nozzle.json"
|
||||
},
|
||||
{
|
||||
"name": "Flashforge PLA Matte @FF AD5M 0.25 nozzle",
|
||||
"sub_path": "filament/Flashforge PLA Matte @FF AD5M 0.25 nozzle.json"
|
||||
},
|
||||
{
|
||||
"name": "Flashforge PLA Matte @FF AD5X 0.25 nozzle",
|
||||
"sub_path": "filament/Flashforge PLA Matte @FF AD5X 0.25 nozzle.json"
|
||||
},
|
||||
{
|
||||
"name": "Flashforge PLA Matte @FF G4 0.25 nozzle",
|
||||
"sub_path": "filament/Flashforge PLA Matte @FF G4 0.25 nozzle.json"
|
||||
},
|
||||
{
|
||||
"name": "Flashforge PLA Matte @FF G4P 0.25 nozzle",
|
||||
"sub_path": "filament/Flashforge PLA Matte @FF G4P 0.25 nozzle.json"
|
||||
},
|
||||
{
|
||||
"name": "Flashforge PLA Metal @FF AD5M 0.25 nozzle",
|
||||
"sub_path": "filament/Flashforge PLA Metal @FF AD5M 0.25 nozzle.json"
|
||||
},
|
||||
{
|
||||
"name": "Flashforge PLA Metal @FF AD5X 0.25 nozzle",
|
||||
"sub_path": "filament/Flashforge PLA Metal @FF AD5X 0.25 nozzle.json"
|
||||
},
|
||||
{
|
||||
"name": "Flashforge PLA Metal @FF G4 0.25 nozzle",
|
||||
"sub_path": "filament/Flashforge PLA Metal @FF G4 0.25 nozzle.json"
|
||||
},
|
||||
{
|
||||
"name": "Flashforge PLA Metal @FF G4P 0.25 nozzle",
|
||||
"sub_path": "filament/Flashforge PLA Metal @FF G4P 0.25 nozzle.json"
|
||||
},
|
||||
{
|
||||
"name": "Flashforge PLA Pro @FF AD5M 0.25 nozzle",
|
||||
"sub_path": "filament/Flashforge PLA Pro @FF AD5M 0.25 nozzle.json"
|
||||
},
|
||||
{
|
||||
"name": "Flashforge PLA Pro @FF AD5X 0.25 nozzle",
|
||||
"sub_path": "filament/Flashforge PLA Pro @FF AD5X 0.25 nozzle.json"
|
||||
},
|
||||
{
|
||||
"name": "Flashforge PLA Pro @FF G4 0.25 nozzle",
|
||||
"sub_path": "filament/Flashforge PLA Pro @FF G4 0.25 nozzle.json"
|
||||
},
|
||||
{
|
||||
"name": "Flashforge PLA Pro @FF G4P 0.25 nozzle",
|
||||
"sub_path": "filament/Flashforge PLA Pro @FF G4P 0.25 nozzle.json"
|
||||
},
|
||||
{
|
||||
"name": "Flashforge PLA Silk @FF AD5X 0.25 nozzle",
|
||||
"sub_path": "filament/Flashforge PLA Silk @FF AD5X 0.25 nozzle.json"
|
||||
},
|
||||
{
|
||||
"name": "Flashforge PLA Silk @FF G4 0.25 nozzle",
|
||||
"sub_path": "filament/Flashforge PLA Silk @FF G4 0.25 nozzle.json"
|
||||
},
|
||||
{
|
||||
"name": "Flashforge PLA Silk @FF G4P 0.25 nozzle",
|
||||
"sub_path": "filament/Flashforge PLA Silk @FF G4P 0.25 nozzle.json"
|
||||
},
|
||||
{
|
||||
"name": "Flashforge PLA Sparkle @FF AD5M 0.25 nozzle",
|
||||
"sub_path": "filament/Flashforge PLA Sparkle @FF AD5M 0.25 nozzle.json"
|
||||
},
|
||||
{
|
||||
"name": "Flashforge PLA Sparkle @FF AD5X 0.25 nozzle",
|
||||
"sub_path": "filament/Flashforge PLA Sparkle @FF AD5X 0.25 nozzle.json"
|
||||
},
|
||||
{
|
||||
"name": "Flashforge PLA Sparkle @FF G4 0.25 nozzle",
|
||||
"sub_path": "filament/Flashforge PLA Sparkle @FF G4 0.25 nozzle.json"
|
||||
},
|
||||
{
|
||||
"name": "Flashforge PLA Sparkle @FF G4P 0.25 nozzle",
|
||||
"sub_path": "filament/Flashforge PLA Sparkle @FF G4P 0.25 nozzle.json"
|
||||
},
|
||||
{
|
||||
"name": "Flashforge PLA Silk @FF AD5M 0.25 nozzle",
|
||||
"sub_path": "filament/Flashforge PLA Silk @FF AD5M 0.25 nozzle.json"
|
||||
@@ -2601,6 +2601,30 @@
|
||||
"name": "Flashforge PETG-CF @FF C5P",
|
||||
"sub_path": "filament/Flashforge PETG-CF @FF C5P.json"
|
||||
},
|
||||
{
|
||||
"name": "Flashforge PLA Matte @FF C5",
|
||||
"sub_path": "filament/Flashforge PLA Matte @FF C5.json"
|
||||
},
|
||||
{
|
||||
"name": "Flashforge PLA Matte @FF C5P",
|
||||
"sub_path": "filament/Flashforge PLA Matte @FF C5P.json"
|
||||
},
|
||||
{
|
||||
"name": "Flashforge PLA Metal @FF C5",
|
||||
"sub_path": "filament/Flashforge PLA Metal @FF C5.json"
|
||||
},
|
||||
{
|
||||
"name": "Flashforge PLA Metal @FF C5P",
|
||||
"sub_path": "filament/Flashforge PLA Metal @FF C5P.json"
|
||||
},
|
||||
{
|
||||
"name": "Flashforge PLA Pro @FF C5",
|
||||
"sub_path": "filament/Flashforge PLA Pro @FF C5.json"
|
||||
},
|
||||
{
|
||||
"name": "Flashforge PLA Pro @FF C5P",
|
||||
"sub_path": "filament/Flashforge PLA Pro @FF C5P.json"
|
||||
},
|
||||
{
|
||||
"name": "Flashforge PLA Basic @FF C5",
|
||||
"sub_path": "filament/Flashforge PLA Basic @FF C5.json"
|
||||
@@ -2633,30 +2657,6 @@
|
||||
"name": "Flashforge PLA Luminous @FF C5P",
|
||||
"sub_path": "filament/Flashforge PLA Luminous @FF C5P.json"
|
||||
},
|
||||
{
|
||||
"name": "Flashforge PLA Matte @FF C5",
|
||||
"sub_path": "filament/Flashforge PLA Matte @FF C5.json"
|
||||
},
|
||||
{
|
||||
"name": "Flashforge PLA Matte @FF C5P",
|
||||
"sub_path": "filament/Flashforge PLA Matte @FF C5P.json"
|
||||
},
|
||||
{
|
||||
"name": "Flashforge PLA Metal @FF C5",
|
||||
"sub_path": "filament/Flashforge PLA Metal @FF C5.json"
|
||||
},
|
||||
{
|
||||
"name": "Flashforge PLA Metal @FF C5P",
|
||||
"sub_path": "filament/Flashforge PLA Metal @FF C5P.json"
|
||||
},
|
||||
{
|
||||
"name": "Flashforge PLA Pro @FF C5",
|
||||
"sub_path": "filament/Flashforge PLA Pro @FF C5.json"
|
||||
},
|
||||
{
|
||||
"name": "Flashforge PLA Pro @FF C5P",
|
||||
"sub_path": "filament/Flashforge PLA Pro @FF C5P.json"
|
||||
},
|
||||
{
|
||||
"name": "Flashforge PLA Silk @FF C5",
|
||||
"sub_path": "filament/Flashforge PLA Silk @FF C5.json"
|
||||
|
||||
@@ -0,0 +1,54 @@
|
||||
{
|
||||
"name": "IdeaFormer",
|
||||
"version": "02.00.00.03",
|
||||
"force_update": "0",
|
||||
"description": "IdeaFormer belt printer configurations",
|
||||
"machine_model_list": [
|
||||
{
|
||||
"name": "IdeaFormer IR3 V2",
|
||||
"sub_path": "machine/IdeaFormer IR3 V2.json"
|
||||
}
|
||||
],
|
||||
"process_list": [
|
||||
{
|
||||
"name": "fdm_process_common",
|
||||
"sub_path": "process/fdm_process_common.json"
|
||||
},
|
||||
{
|
||||
"name": "0.20mm Standard @IdeaFormer IR3 V2",
|
||||
"sub_path": "process/0.20mm Standard @IdeaFormer IR3 V2.json"
|
||||
}
|
||||
],
|
||||
"filament_list": [
|
||||
{
|
||||
"name": "Generic PLA @IdeaFormer IR3 V2",
|
||||
"sub_path": "filament/Generic PLA @IdeaFormer IR3 V2.json"
|
||||
},
|
||||
{
|
||||
"name": "eSUN PLA @IdeaFormer IR3 V2",
|
||||
"sub_path": "filament/eSUN PLA @IdeaFormer IR3 V2.json"
|
||||
},
|
||||
{
|
||||
"name": "Generic PETG @IdeaFormer IR3 V2",
|
||||
"sub_path": "filament/Generic PETG @IdeaFormer IR3 V2.json"
|
||||
}
|
||||
],
|
||||
"machine_list": [
|
||||
{
|
||||
"name": "fdm_machine_common",
|
||||
"sub_path": "machine/fdm_machine_common.json"
|
||||
},
|
||||
{
|
||||
"name": "fdm_klipper_common",
|
||||
"sub_path": "machine/fdm_klipper_common.json"
|
||||
},
|
||||
{
|
||||
"name": "fdm_belt_common",
|
||||
"sub_path": "machine/fdm_belt_common.json"
|
||||
},
|
||||
{
|
||||
"name": "IdeaFormer IR3 V2 0.4 nozzle",
|
||||
"sub_path": "machine/IdeaFormer IR3 V2 0.4 nozzle.json"
|
||||
}
|
||||
]
|
||||
}
|
||||
Binary file not shown.
|
After Width: | Height: | Size: 183 KiB |
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user