diff --git a/.github/workflows/build_all.yml b/.github/workflows/build_all.yml index 1ee1cbd0121..41fe9d23027 100644 --- a/.github/workflows/build_all.yml +++ b/.github/workflows/build_all.yml @@ -134,7 +134,7 @@ jobs: flatpak: name: "Flatpak" container: - image: ghcr.io/flathub-infra/flatpak-github-actions:gnome-48 + image: ghcr.io/flathub-infra/flatpak-github-actions:gnome-49 options: --privileged volumes: - /usr/local/lib/android:/usr/local/lib/android @@ -170,7 +170,7 @@ jobs: git_commit_hash="${{ github.event.pull_request.head.sha }}" else ver=V$ver_pure - git_commit_hash="" + git_commit_hash="${{ github.sha }}" fi echo "ver=$ver" >> $GITHUB_ENV echo "ver_pure=$ver_pure" >> $GITHUB_ENV @@ -194,7 +194,12 @@ jobs: restore-keys: flatpak-builder-${{ matrix.variant.arch }}- - name: Disable debug info for faster CI builds run: | - sed -i '0,/^finish-args:/s//build-options:\n no-debuginfo: true\n strip: true\nfinish-args:/' \ + sed -i '/^build-options:/a\ no-debuginfo: true\n strip: true' \ + scripts/flatpak/io.github.orcaslicer.OrcaSlicer.yml + shell: bash + - 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 git_commit_hash: \"$git_commit_hash\"|}" \ scripts/flatpak/io.github.orcaslicer.OrcaSlicer.yml shell: bash - uses: flatpak/flatpak-github-actions/flatpak-builder@master @@ -219,3 +224,4 @@ jobs: asset_name: OrcaSlicer-Linux-flatpak_nightly_${{ 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 + diff --git a/.gitignore b/.gitignore index 867b49420f7..4b186b4e142 100644 --- a/.gitignore +++ b/.gitignore @@ -44,3 +44,4 @@ test.js /.cache/ .clangd internal_docs/ +*.flatpak \ No newline at end of file diff --git a/CMakeLists.txt b/CMakeLists.txt index 9356c308ee6..5c5be1d49ff 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -89,10 +89,9 @@ else () endif () find_package(Git) -if(GIT_FOUND AND EXISTS "${CMAKE_SOURCE_DIR}/.git") - if(DEFINED ENV{git_commit_hash} AND NOT "$ENV{git_commit_hash}" STREQUAL "") - message(STATUS "Specified git commit hash: $ENV{git_commit_hash}") - +if(DEFINED ENV{git_commit_hash} AND NOT "$ENV{git_commit_hash}" STREQUAL "") + message(STATUS "Specified git commit hash: $ENV{git_commit_hash}") + if(GIT_FOUND AND EXISTS "${CMAKE_SOURCE_DIR}/.git") # Convert the given hash to short hash execute_process( COMMAND ${GIT_EXECUTABLE} rev-parse --short "$ENV{git_commit_hash}" @@ -100,17 +99,20 @@ if(GIT_FOUND AND EXISTS "${CMAKE_SOURCE_DIR}/.git") OUTPUT_VARIABLE GIT_COMMIT_HASH OUTPUT_STRIP_TRAILING_WHITESPACE ) - add_definitions("-DGIT_COMMIT_HASH=\"${GIT_COMMIT_HASH}\"") else() - # Check current Git commit hash - execute_process( - COMMAND ${GIT_EXECUTABLE} log -1 --format=%h - WORKING_DIRECTORY ${CMAKE_SOURCE_DIR} - OUTPUT_VARIABLE GIT_COMMIT_HASH - OUTPUT_STRIP_TRAILING_WHITESPACE - ) - add_definitions("-DGIT_COMMIT_HASH=\"${GIT_COMMIT_HASH}\"") + # No .git directory (e.g., Flatpak sandbox) — truncate directly + string(SUBSTRING "$ENV{git_commit_hash}" 0 7 GIT_COMMIT_HASH) endif() + add_definitions("-DGIT_COMMIT_HASH=\"${GIT_COMMIT_HASH}\"") +elseif(GIT_FOUND AND EXISTS "${CMAKE_SOURCE_DIR}/.git") + # Check current Git commit hash + execute_process( + COMMAND ${GIT_EXECUTABLE} log -1 --format=%h + WORKING_DIRECTORY ${CMAKE_SOURCE_DIR} + OUTPUT_VARIABLE GIT_COMMIT_HASH + OUTPUT_STRIP_TRAILING_WHITESPACE + ) + add_definitions("-DGIT_COMMIT_HASH=\"${GIT_COMMIT_HASH}\"") endif() if(DEFINED ENV{SLIC3R_STATIC}) @@ -171,10 +173,7 @@ option(BUILD_TESTS "Build unit tests" OFF) option(ORCA_TOOLS "Build Orca tools" OFF) if (FLATPAK) - set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=gnu++20") - set(SLIC3R_PCH OFF CACHE BOOL "" FORCE) set(SLIC3R_FHS ON CACHE BOOL "" FORCE) - set(BUILD_TESTS OFF CACHE BOOL "" FORCE) set(SLIC3R_DESKTOP_INTEGRATION OFF CACHE BOOL "" FORCE) endif () @@ -455,9 +454,12 @@ if (NOT MSVC AND ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "GNU" OR "${CMAKE_CXX_COMP add_compile_options(-Wno-unknown-pragmas) endif() - # Bit of a hack for flatpak building: compress the debug info with zstd to save space in CI - if("${CMAKE_CXX_COMPILER_ID}" STREQUAL "GNU" AND CMAKE_CXX_COMPILER_VERSION VERSION_GREATER 13.0) - add_compile_options(-gz=zstd) + # Compress the debug info with zstd to save space in Flatpak CI builds + if(FLATPAK) + if(("${CMAKE_CXX_COMPILER_ID}" STREQUAL "GNU" AND CMAKE_CXX_COMPILER_VERSION VERSION_GREATER 13.0) OR + ("${CMAKE_CXX_COMPILER_ID}" MATCHES "Clang" AND CMAKE_CXX_COMPILER_VERSION VERSION_GREATER_EQUAL 15.0)) + add_compile_options(-gz=zstd) + endif() endif() if("${CMAKE_CXX_COMPILER_ID}" STREQUAL "GNU" AND CMAKE_CXX_COMPILER_VERSION VERSION_GREATER 14) diff --git a/build_flatpak.sh b/build_flatpak.sh index f7d0b51ba2e..225cf25e66a 100755 --- a/build_flatpak.sh +++ b/build_flatpak.sh @@ -198,22 +198,22 @@ echo -e "${GREEN}All required dependencies found${NC}" # Install runtime and SDK if requested if [[ "$INSTALL_RUNTIME" == true ]]; then echo -e "${YELLOW}Installing GNOME runtime and SDK...${NC}" - flatpak install --user -y flathub org.gnome.Platform//48 - flatpak install --user -y flathub org.gnome.Sdk//48 + flatpak install --user -y flathub org.gnome.Platform//49 + flatpak install --user -y flathub org.gnome.Sdk//49 fi # Check if required runtime is available -if ! flatpak info --user org.gnome.Platform//48 &> /dev/null; then - echo -e "${RED}Error: GNOME Platform 48 runtime is not installed.${NC}" +if ! flatpak info --user org.gnome.Platform//49 &> /dev/null; then + echo -e "${RED}Error: GNOME Platform 49 runtime is not installed.${NC}" echo "Run with -i flag to install it automatically, or install manually:" - echo "flatpak install --user flathub org.gnome.Platform//48" + echo "flatpak install --user flathub org.gnome.Platform//49" exit 1 fi -if ! flatpak info --user org.gnome.Sdk//48 &> /dev/null; then - echo -e "${RED}Error: GNOME SDK 48 is not installed.${NC}" +if ! flatpak info --user org.gnome.Sdk//49 &> /dev/null; then + echo -e "${RED}Error: GNOME SDK 49 is not installed.${NC}" echo "Run with -i flag to install it automatically, or install manually:" - echo "flatpak install --user flathub org.gnome.Sdk//48" + echo "flatpak install --user flathub org.gnome.Sdk//49" exit 1 fi @@ -318,7 +318,7 @@ fi MANIFEST="scripts/flatpak/io.github.orcaslicer.OrcaSlicer.yml" if [[ "$NO_DEBUGINFO" == true ]]; then MANIFEST="scripts/flatpak/io.github.orcaslicer.OrcaSlicer.no-debug.yml" - sed '0,/^finish-args:/s//build-options:\n no-debuginfo: true\n strip: true\nfinish-args:/' \ + sed '/^build-options:/a\ no-debuginfo: true\n strip: true' \ scripts/flatpak/io.github.orcaslicer.OrcaSlicer.yml > "$MANIFEST" echo -e "${YELLOW}Debug info disabled (using temp manifest)${NC}" fi diff --git a/deps/CMakeLists.txt b/deps/CMakeLists.txt index 492696a58ac..1826c029d0b 100644 --- a/deps/CMakeLists.txt +++ b/deps/CMakeLists.txt @@ -189,6 +189,9 @@ if (NOT IS_CROSS_COMPILE OR NOT APPLE) -DCMAKE_C_COMPILER:STRING=${CMAKE_C_COMPILER} -DCMAKE_CXX_COMPILER:STRING=${CMAKE_CXX_COMPILER} -DCMAKE_TOOLCHAIN_FILE:STRING=${CMAKE_TOOLCHAIN_FILE} + -DCMAKE_EXE_LINKER_FLAGS:STRING=${CMAKE_EXE_LINKER_FLAGS} + -DCMAKE_SHARED_LINKER_FLAGS:STRING=${CMAKE_SHARED_LINKER_FLAGS} + -DCMAKE_MODULE_LINKER_FLAGS:STRING=${CMAKE_MODULE_LINKER_FLAGS} -DBUILD_SHARED_LIBS:BOOL=OFF ${_cmake_osx_arch} "${_configs_line}" diff --git a/deps/TBB/TBB.cmake b/deps/TBB/TBB.cmake index 13d40c05738..9b1452d33ea 100644 --- a/deps/TBB/TBB.cmake +++ b/deps/TBB/TBB.cmake @@ -1,4 +1,4 @@ -if (FLATPAK) +if (FLATPAK AND "${CMAKE_CXX_COMPILER_ID}" STREQUAL "GNU") set(_patch_command ${CMAKE_COMMAND} -E copy ${CMAKE_CURRENT_LIST_DIR}/GNU.cmake ./cmake/compilers/GNU.cmake) else() set(_patch_command "") diff --git a/localization/i18n/ca/OrcaSlicer_ca.po b/localization/i18n/ca/OrcaSlicer_ca.po index a057f290089..50c6e5f0540 100644 --- a/localization/i18n/ca/OrcaSlicer_ca.po +++ b/localization/i18n/ca/OrcaSlicer_ca.po @@ -19650,7 +19650,7 @@ msgstr "" msgid "Cornering settings" msgstr "" -msgid "Note: Lower values = sharper corners but slower speeds.\n" +msgid "Note: Lower values = sharper corners but slower speeds." msgstr "" msgid "" diff --git a/localization/i18n/cs/OrcaSlicer_cs.po b/localization/i18n/cs/OrcaSlicer_cs.po index 9d7d320d38b..1cb30ab350f 100644 --- a/localization/i18n/cs/OrcaSlicer_cs.po +++ b/localization/i18n/cs/OrcaSlicer_cs.po @@ -19153,7 +19153,7 @@ msgstr "" msgid "Cornering settings" msgstr "" -msgid "Note: Lower values = sharper corners but slower speeds.\n" +msgid "Note: Lower values = sharper corners but slower speeds." msgstr "" msgid "" diff --git a/localization/i18n/de/OrcaSlicer_de.po b/localization/i18n/de/OrcaSlicer_de.po index 4e57d33b56c..290102a94a8 100644 --- a/localization/i18n/de/OrcaSlicer_de.po +++ b/localization/i18n/de/OrcaSlicer_de.po @@ -20593,10 +20593,8 @@ msgstr "Ende: " msgid "Cornering settings" msgstr "Eckeneinstellungen" -msgid "Note: Lower values = sharper corners but slower speeds.\n" -msgstr "" -"Hinweis: Niedrigere Werte = schärfere Ecken, aber langsamere " -"Geschwindigkeiten.\n" +msgid "Note: Lower values = sharper corners but slower speeds." +msgstr "Hinweis: Niedrigere Werte = schärfere Ecken, aber langsamere Geschwindigkeiten." msgid "" "Marlin 2 Junction Deviation detected:\n" diff --git a/localization/i18n/en/OrcaSlicer_en.po b/localization/i18n/en/OrcaSlicer_en.po index 166ac607db6..91d2d7e60da 100644 --- a/localization/i18n/en/OrcaSlicer_en.po +++ b/localization/i18n/en/OrcaSlicer_en.po @@ -17688,7 +17688,7 @@ msgstr "" msgid "Cornering settings" msgstr "" -msgid "Note: Lower values = sharper corners but slower speeds.\n" +msgid "Note: Lower values = sharper corners but slower speeds." msgstr "" msgid "" diff --git a/localization/i18n/es/OrcaSlicer_es.po b/localization/i18n/es/OrcaSlicer_es.po index 1388ccfd590..956e36321e9 100644 --- a/localization/i18n/es/OrcaSlicer_es.po +++ b/localization/i18n/es/OrcaSlicer_es.po @@ -20568,10 +20568,8 @@ msgstr "Fin: " msgid "Cornering settings" msgstr "Ajustes de esquinado" -msgid "Note: Lower values = sharper corners but slower speeds.\n" -msgstr "" -"Nota: Valores más bajos = esquinas más afiladas pero velocidades más " -"lentas.\n" +msgid "Note: Lower values = sharper corners but slower speeds." +msgstr "Nota: Valores más bajos = esquinas más afiladas pero velocidades más lentas." msgid "" "Marlin 2 Junction Deviation detected:\n" diff --git a/localization/i18n/fr/OrcaSlicer_fr.po b/localization/i18n/fr/OrcaSlicer_fr.po index 97852b7ca7e..83526d097cc 100644 --- a/localization/i18n/fr/OrcaSlicer_fr.po +++ b/localization/i18n/fr/OrcaSlicer_fr.po @@ -19831,7 +19831,7 @@ msgstr "" msgid "Cornering settings" msgstr "" -msgid "Note: Lower values = sharper corners but slower speeds.\n" +msgid "Note: Lower values = sharper corners but slower speeds." msgstr "" msgid "" diff --git a/localization/i18n/hu/OrcaSlicer_hu.po b/localization/i18n/hu/OrcaSlicer_hu.po index 9ab955db299..e5a3dbc2fbb 100644 --- a/localization/i18n/hu/OrcaSlicer_hu.po +++ b/localization/i18n/hu/OrcaSlicer_hu.po @@ -20047,8 +20047,8 @@ msgstr "Vég: " msgid "Cornering settings" msgstr "Kanyarbeállítások" -msgid "Note: Lower values = sharper corners but slower speeds.\n" -msgstr "Megjegyzés: Az alacsonyabb értékek élesebb sarkokat, de lassabb sebességet jelentenek.\n" +msgid "Note: Lower values = sharper corners but slower speeds." +msgstr "Megjegyzés: Az alacsonyabb értékek élesebb sarkokat, de lassabb sebességet jelentenek." msgid "" "Marlin 2 Junction Deviation detected:\n" diff --git a/localization/i18n/it/OrcaSlicer_it.po b/localization/i18n/it/OrcaSlicer_it.po index 9fdffdadda8..96d7707448b 100644 --- a/localization/i18n/it/OrcaSlicer_it.po +++ b/localization/i18n/it/OrcaSlicer_it.po @@ -19775,7 +19775,7 @@ msgstr "" msgid "Cornering settings" msgstr "" -msgid "Note: Lower values = sharper corners but slower speeds.\n" +msgid "Note: Lower values = sharper corners but slower speeds." msgstr "" msgid "" diff --git a/localization/i18n/ja/OrcaSlicer_ja.po b/localization/i18n/ja/OrcaSlicer_ja.po index 3e4f12b5517..4a6c53b66ec 100644 --- a/localization/i18n/ja/OrcaSlicer_ja.po +++ b/localization/i18n/ja/OrcaSlicer_ja.po @@ -17819,7 +17819,7 @@ msgstr "" msgid "Cornering settings" msgstr "" -msgid "Note: Lower values = sharper corners but slower speeds.\n" +msgid "Note: Lower values = sharper corners but slower speeds." msgstr "" msgid "" diff --git a/localization/i18n/ko/OrcaSlicer_ko.po b/localization/i18n/ko/OrcaSlicer_ko.po index 456392b3107..08316d573ad 100644 --- a/localization/i18n/ko/OrcaSlicer_ko.po +++ b/localization/i18n/ko/OrcaSlicer_ko.po @@ -18890,7 +18890,7 @@ msgstr "" msgid "Cornering settings" msgstr "" -msgid "Note: Lower values = sharper corners but slower speeds.\n" +msgid "Note: Lower values = sharper corners but slower speeds." msgstr "" msgid "" diff --git a/localization/i18n/lt/OrcaSlicer_lt.po b/localization/i18n/lt/OrcaSlicer_lt.po index 3959677a6de..881b675de9d 100644 --- a/localization/i18n/lt/OrcaSlicer_lt.po +++ b/localization/i18n/lt/OrcaSlicer_lt.po @@ -19687,7 +19687,7 @@ msgstr "" msgid "Cornering settings" msgstr "" -msgid "Note: Lower values = sharper corners but slower speeds.\n" +msgid "Note: Lower values = sharper corners but slower speeds." msgstr "" msgid "" diff --git a/localization/i18n/nl/OrcaSlicer_nl.po b/localization/i18n/nl/OrcaSlicer_nl.po index e1cda56ea9a..108bb6f17ae 100644 --- a/localization/i18n/nl/OrcaSlicer_nl.po +++ b/localization/i18n/nl/OrcaSlicer_nl.po @@ -18349,7 +18349,7 @@ msgstr "" msgid "Cornering settings" msgstr "" -msgid "Note: Lower values = sharper corners but slower speeds.\n" +msgid "Note: Lower values = sharper corners but slower speeds." msgstr "" msgid "" diff --git a/localization/i18n/pl/OrcaSlicer_pl.po b/localization/i18n/pl/OrcaSlicer_pl.po index c33b97e1ebd..5b941645f6e 100644 --- a/localization/i18n/pl/OrcaSlicer_pl.po +++ b/localization/i18n/pl/OrcaSlicer_pl.po @@ -19549,7 +19549,7 @@ msgstr "" msgid "Cornering settings" msgstr "" -msgid "Note: Lower values = sharper corners but slower speeds.\n" +msgid "Note: Lower values = sharper corners but slower speeds." msgstr "" msgid "" diff --git a/localization/i18n/pt_BR/OrcaSlicer_pt_BR.po b/localization/i18n/pt_BR/OrcaSlicer_pt_BR.po index f273c6a2886..2148b2f3d21 100644 --- a/localization/i18n/pt_BR/OrcaSlicer_pt_BR.po +++ b/localization/i18n/pt_BR/OrcaSlicer_pt_BR.po @@ -20383,10 +20383,8 @@ msgstr "Final: " msgid "Cornering settings" msgstr "" -msgid "Note: Lower values = sharper corners but slower speeds.\n" -msgstr "" -"Nota: Valores mais baixos = cantos mais nítidos, mas velocidades mais " -"lentas.\n" +msgid "Note: Lower values = sharper corners but slower speeds." +msgstr "Nota: Valores mais baixos = cantos mais nítidos, mas velocidades mais lentas." msgid "" "Marlin 2 Junction Deviation detected:\n" diff --git a/localization/i18n/ru/OrcaSlicer_ru.po b/localization/i18n/ru/OrcaSlicer_ru.po index 80d396a0016..98c2225e9dd 100644 --- a/localization/i18n/ru/OrcaSlicer_ru.po +++ b/localization/i18n/ru/OrcaSlicer_ru.po @@ -20658,16 +20658,14 @@ msgstr "Конец: " msgid "Cornering settings" msgstr "Тестируемый диапазон" -msgid "Note: Lower values = sharper corners but slower speeds.\n" -msgstr "" -"Примечание: чем ниже значения, тем острее и медленнее печатаются углы.\n" +msgid "Note: Lower values = sharper corners but slower speeds." +msgstr "Примечание: чем ниже значения, тем острее и медленнее печатаются углы." msgid "" "Marlin 2 Junction Deviation detected:\n" "To test Classic Jerk, set 'Maximum Junction Deviation' in Motion ability to " "0." msgstr "" -" \n" "Внимание: тестируется работа Junction Deviation.\n" "Для тестирования рывков необходимо обнулить его значение (профиль принтера → " "ограничения → рывки → Макс. значение Junction Deviation)." @@ -20677,7 +20675,6 @@ msgid "" "To test Junction Deviation, set 'Maximum Junction Deviation' in Motion " "ability to a value > 0." msgstr "" -" \n" "Внимание: тестируется работа рывков.\n" "Для тестирования Junction Deviation ему необходимо установить ненулевое " "значение (профиль принтера → ограничения → рывки → Макс. значение Junction " diff --git a/localization/i18n/sv/OrcaSlicer_sv.po b/localization/i18n/sv/OrcaSlicer_sv.po index 3e3b98fd780..46ab83b2a20 100644 --- a/localization/i18n/sv/OrcaSlicer_sv.po +++ b/localization/i18n/sv/OrcaSlicer_sv.po @@ -18046,7 +18046,7 @@ msgstr "" msgid "Cornering settings" msgstr "" -msgid "Note: Lower values = sharper corners but slower speeds.\n" +msgid "Note: Lower values = sharper corners but slower speeds." msgstr "" msgid "" diff --git a/localization/i18n/tr/OrcaSlicer_tr.po b/localization/i18n/tr/OrcaSlicer_tr.po index 5258aa247c1..de4e536e057 100644 --- a/localization/i18n/tr/OrcaSlicer_tr.po +++ b/localization/i18n/tr/OrcaSlicer_tr.po @@ -19596,7 +19596,7 @@ msgstr "" msgid "Cornering settings" msgstr "" -msgid "Note: Lower values = sharper corners but slower speeds.\n" +msgid "Note: Lower values = sharper corners but slower speeds." msgstr "" msgid "" diff --git a/localization/i18n/uk/OrcaSlicer_uk.po b/localization/i18n/uk/OrcaSlicer_uk.po index d3c42f704aa..1f304568171 100644 --- a/localization/i18n/uk/OrcaSlicer_uk.po +++ b/localization/i18n/uk/OrcaSlicer_uk.po @@ -19504,7 +19504,7 @@ msgstr "" msgid "Cornering settings" msgstr "" -msgid "Note: Lower values = sharper corners but slower speeds.\n" +msgid "Note: Lower values = sharper corners but slower speeds." msgstr "" msgid "" diff --git a/localization/i18n/vi/OrcaSlicer_vi.po b/localization/i18n/vi/OrcaSlicer_vi.po index f2f4284b132..8a01af9b695 100644 --- a/localization/i18n/vi/OrcaSlicer_vi.po +++ b/localization/i18n/vi/OrcaSlicer_vi.po @@ -19256,7 +19256,7 @@ msgstr "" msgid "Cornering settings" msgstr "" -msgid "Note: Lower values = sharper corners but slower speeds.\n" +msgid "Note: Lower values = sharper corners but slower speeds." msgstr "" msgid "" diff --git a/localization/i18n/zh_CN/OrcaSlicer_zh_CN.po b/localization/i18n/zh_CN/OrcaSlicer_zh_CN.po index bc780f69095..2d7132e55c0 100644 --- a/localization/i18n/zh_CN/OrcaSlicer_zh_CN.po +++ b/localization/i18n/zh_CN/OrcaSlicer_zh_CN.po @@ -18527,8 +18527,8 @@ msgstr "结尾:" msgid "Cornering settings" msgstr "转角设置" -msgid "Note: Lower values = sharper corners but slower speeds.\n" -msgstr "注意:值越低 = 转角越尖锐,但速度越慢。\n" +msgid "Note: Lower values = sharper corners but slower speeds." +msgstr "注意:值越低 = 转角越尖锐,但速度越慢。" msgid "" "Marlin 2 Junction Deviation detected:\n" diff --git a/localization/i18n/zh_TW/OrcaSlicer_zh_TW.po b/localization/i18n/zh_TW/OrcaSlicer_zh_TW.po index 9333a8cd196..825847a73a9 100644 --- a/localization/i18n/zh_TW/OrcaSlicer_zh_TW.po +++ b/localization/i18n/zh_TW/OrcaSlicer_zh_TW.po @@ -18667,8 +18667,8 @@ msgstr "結尾:" msgid "Cornering settings" msgstr "轉彎設定" -msgid "Note: Lower values = sharper corners but slower speeds.\n" -msgstr "注意:值越低 = 拐角越尖銳,但速度越慢。\n" +msgid "Note: Lower values = sharper corners but slower speeds." +msgstr "注意:值越低 = 拐角越尖銳,但速度越慢。" msgid "" "Marlin 2 Junction Deviation detected:\n" diff --git a/resources/profiles/Elegoo.json b/resources/profiles/Elegoo.json index 82333fd336b..499d1351005 100644 --- a/resources/profiles/Elegoo.json +++ b/resources/profiles/Elegoo.json @@ -86,6 +86,10 @@ "name": "fdm_process_elegoo_common", "sub_path": "process/fdm_process_elegoo_common.json" }, + { + "name": "fdm_process_elegoo_02010", + "sub_path": "process/fdm_process_elegoo_02010.json" + }, { "name": "fdm_process_ecc", "sub_path": "process/ECC/fdm_process_ecc.json" @@ -1104,6 +1108,10 @@ "name": "fdm_filament_pla", "sub_path": "filament/fdm_filament_pla.json" }, + { + "name": "fdm_filament_paht", + "sub_path": "filament/fdm_filament_paht.json" + }, { "name": "Elegoo ASA @base", "sub_path": "filament/BASE/Elegoo ASA @base.json" @@ -1136,6 +1144,26 @@ "name": "Elegoo RAPID PLA+ @base", "sub_path": "filament/BASE/Elegoo RAPID PLA+ @base.json" }, + { + "name": "Elegoo TPU @base", + "sub_path": "filament/BASE/Elegoo TPU @base.json" + }, + { + "name": "Elegoo PETG @base", + "sub_path": "filament/BASE/Elegoo PETG @base.json" + }, + { + "name": "Elegoo ABS @base", + "sub_path": "filament/BASE/Elegoo ABS @base.json" + }, + { + "name": "Elegoo PAHT @base", + "sub_path": "filament/BASE/Elegoo PAHT @base.json" + }, + { + "name": "Elegoo PC @base", + "sub_path": "filament/BASE/Elegoo PC @base.json" + }, { "name": "Elegoo TPU 95A @base", "sub_path": "filament/BASE/Elegoo TPU 95A @base.json" @@ -1172,6 +1200,10 @@ "name": "Elegoo ASA @0.2 nozzle", "sub_path": "filament/ELEGOO/Elegoo ASA @0.2 nozzle.json" }, + { + "name": "Elegoo PETG @0.2 nozzle", + "sub_path": "filament/ELEGOO/Elegoo PETG @0.2 nozzle.json" + }, { "name": "Elegoo ASA @EC", "sub_path": "filament/EC/Elegoo ASA @EC.json" @@ -1212,6 +1244,26 @@ "name": "Elegoo RAPID PETG @0.2 nozzle", "sub_path": "filament/ELEGOO/Elegoo RAPID PETG @0.2 nozzle.json" }, + { + "name": "Elegoo ABS @0.2 nozzle", + "sub_path": "filament/ELEGOO/Elegoo ABS @0.2 nozzle.json" + }, + { + "name": "Elegoo PC @0.2 nozzle", + "sub_path": "filament/ELEGOO/Elegoo PC @0.2 nozzle.json" + }, + { + "name": "Elegoo PC-FR @0.2 nozzle", + "sub_path": "filament/ELEGOO/Elegoo PC-FR @0.2 nozzle.json" + }, + { + "name": "Elegoo PLA Basic @0.2 nozzle", + "sub_path": "filament/ELEGOO/Elegoo PLA Basic @0.2 nozzle.json" + }, + { + "name": "Elegoo PETG Translucent @0.2 nozzle", + "sub_path": "filament/ELEGOO/Elegoo PETG Translucent @0.2 nozzle.json" + }, { "name": "Elegoo RAPID PETG @EC", "sub_path": "filament/EC/Elegoo RAPID PETG @EC.json" @@ -1368,6 +1420,66 @@ "name": "Elegoo TPU 95A @ECC2", "sub_path": "filament/ECC2/Elegoo TPU 95A @ECC2.json" }, + { + "name": "Elegoo PLA @ECC2", + "sub_path": "filament/ECC2/Elegoo PLA @ECC2.json" + }, + { + "name": "Elegoo PETG @ECC2", + "sub_path": "filament/ECC2/Elegoo PETG @ECC2.json" + }, + { + "name": "Elegoo ABS @ECC2", + "sub_path": "filament/ECC2/Elegoo ABS @ECC2.json" + }, + { + "name": "Elegoo PLA Galaxy @ECC2", + "sub_path": "filament/ECC2/Elegoo PLA Galaxy @ECC2.json" + }, + { + "name": "Elegoo PLA Basic @ECC2", + "sub_path": "filament/ECC2/Elegoo PLA Basic @ECC2.json" + }, + { + "name": "Elegoo PLA Marble @ECC2", + "sub_path": "filament/ECC2/Elegoo PLA Marble @ECC2.json" + }, + { + "name": "Elegoo PLA Sparkle @ECC2", + "sub_path": "filament/ECC2/Elegoo PLA Sparkle @ECC2.json" + }, + { + "name": "Elegoo PLA Wood @ECC2", + "sub_path": "filament/ECC2/Elegoo PLA Wood @ECC2.json" + }, + { + "name": "Elegoo PAHT-CF @ECC2", + "sub_path": "filament/ECC2/Elegoo PAHT-CF @ECC2.json" + }, + { + "name": "Elegoo PC @ECC2", + "sub_path": "filament/ECC2/Elegoo PC @ECC2.json" + }, + { + "name": "Elegoo PC-FR @ECC2", + "sub_path": "filament/ECC2/Elegoo PC-FR @ECC2.json" + }, + { + "name": "Elegoo PETG-CF @ECC2", + "sub_path": "filament/ECC2/Elegoo PETG-CF @ECC2.json" + }, + { + "name": "Elegoo PETG-GF @ECC2", + "sub_path": "filament/ECC2/Elegoo PETG-GF @ECC2.json" + }, + { + "name": "Elegoo PETG Translucent @ECC2", + "sub_path": "filament/ECC2/Elegoo PETG Translucent @ECC2.json" + }, + { + "name": "Elegoo RAPID TPU 95A @ECC2", + "sub_path": "filament/ECC2/Elegoo RAPID TPU 95A @ECC2.json" + }, { "name": "Elegoo ASA @Elegoo Giga", "sub_path": "filament/EOSGIGA/Elegoo ASA @Elegoo Giga.json" @@ -1575,4 +1687,4 @@ "sub_path": "machine/ECC2/Elegoo Centauri Carbon 2 0.8 nozzle.json" } ] -} \ No newline at end of file +} diff --git a/resources/profiles/Elegoo/Elegoo Centauri Carbon 2_cover.png b/resources/profiles/Elegoo/Elegoo Centauri Carbon 2_cover.png index b2ada1959e0..14b59b4dd71 100644 Binary files a/resources/profiles/Elegoo/Elegoo Centauri Carbon 2_cover.png and b/resources/profiles/Elegoo/Elegoo Centauri Carbon 2_cover.png differ diff --git a/resources/profiles/Elegoo/filament/BASE/Elegoo ABS @base.json b/resources/profiles/Elegoo/filament/BASE/Elegoo ABS @base.json new file mode 100644 index 00000000000..0af17ecf675 --- /dev/null +++ b/resources/profiles/Elegoo/filament/BASE/Elegoo ABS @base.json @@ -0,0 +1,23 @@ +{ + "type": "filament", + "name": "Elegoo ABS @base", + "inherits": "fdm_filament_abs", + "from": "system", + "filament_id": "EABSB00", + "instantiation": "false", + "filament_vendor": [ + "Elegoo" + ], + "filament_density": [ + "1.1" + ], + "filament_max_volumetric_speed": [ + "12" + ], + "nozzle_temperature": [ + "270" + ], + "fan_cooling_layer_time": [ + "35" + ] +} diff --git a/resources/profiles/Elegoo/filament/BASE/Elegoo PAHT @base.json b/resources/profiles/Elegoo/filament/BASE/Elegoo PAHT @base.json new file mode 100644 index 00000000000..f881f409ca9 --- /dev/null +++ b/resources/profiles/Elegoo/filament/BASE/Elegoo PAHT @base.json @@ -0,0 +1,23 @@ +{ + "type": "filament", + "name": "Elegoo PAHT @base", + "inherits": "fdm_filament_paht", + "from": "system", + "filament_id": "EPAHTB00", + "instantiation": "false", + "filament_cost": [ + "0" + ], + "filament_density": [ + "1.25" + ], + "filament_max_volumetric_speed": [ + "16" + ], + "filament_vendor": [ + "Elegoo" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ] +} diff --git a/resources/profiles/Elegoo/filament/BASE/Elegoo PC @base.json b/resources/profiles/Elegoo/filament/BASE/Elegoo PC @base.json new file mode 100644 index 00000000000..6d6073974ed --- /dev/null +++ b/resources/profiles/Elegoo/filament/BASE/Elegoo PC @base.json @@ -0,0 +1,23 @@ +{ + "type": "filament", + "name": "Elegoo PC @base", + "inherits": "fdm_filament_pc", + "from": "system", + "filament_id": "EPCB00", + "instantiation": "false", + "filament_cost": [ + "0" + ], + "filament_density": [ + "1.25" + ], + "filament_max_volumetric_speed": [ + "16" + ], + "filament_vendor": [ + "Elegoo" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ] +} diff --git a/resources/profiles/Elegoo/filament/BASE/Elegoo PETG @base.json b/resources/profiles/Elegoo/filament/BASE/Elegoo PETG @base.json new file mode 100644 index 00000000000..0015ff12a7a --- /dev/null +++ b/resources/profiles/Elegoo/filament/BASE/Elegoo PETG @base.json @@ -0,0 +1,83 @@ +{ + "type": "filament", + "name": "Elegoo PETG @base", + "inherits": "fdm_filament_pet", + "from": "system", + "filament_id": "EPETGB00", + "instantiation": "false", + "cool_plate_temp": [ + "0" + ], + "cool_plate_temp_initial_layer": [ + "0" + ], + "eng_plate_temp": [ + "70" + ], + "eng_plate_temp_initial_layer": [ + "70" + ], + "fan_cooling_layer_time": [ + "30" + ], + "fan_max_speed": [ + "40" + ], + "fan_min_speed": [ + "10" + ], + "filament_cost": [ + "0" + ], + "filament_density": [ + "1.25" + ], + "filament_max_volumetric_speed": [ + "8" + ], + "filament_vendor": [ + "Elegoo" + ], + "hot_plate_temp": [ + "70" + ], + "hot_plate_temp_initial_layer": [ + "70" + ], + "nozzle_temperature_range_high": [ + "270" + ], + "nozzle_temperature_range_low": [ + "230" + ], + "nozzle_temperature": [ + "240" + ], + "nozzle_temperature_initial_layer": [ + "240" + ], + "overhang_fan_speed": [ + "90" + ], + "overhang_fan_threshold": [ + "10%" + ], + "slow_down_layer_time": [ + "12" + ], + "textured_plate_temp": [ + "70" + ], + "textured_plate_temp_initial_layer": [ + "70" + ], + "filament_start_gcode": [ + "; Filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ], + "filament_type": [ + "PETG" + ] +} diff --git a/resources/profiles/Elegoo/filament/BASE/Elegoo TPU @base.json b/resources/profiles/Elegoo/filament/BASE/Elegoo TPU @base.json new file mode 100644 index 00000000000..c60a420554c --- /dev/null +++ b/resources/profiles/Elegoo/filament/BASE/Elegoo TPU @base.json @@ -0,0 +1,26 @@ +{ + "type": "filament", + "name": "Elegoo TPU @base", + "inherits": "fdm_filament_tpu", + "from": "system", + "filament_id": "ETPUB00", + "instantiation": "false", + "filament_max_volumetric_speed": [ + "3.6" + ], + "filament_vendor": [ + "Elegoo" + ], + "filament_density": [ + "1.21" + ], + "nozzle_temperature": [ + "225" + ], + "nozzle_temperature_initial_layer": [ + "225" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ] +} diff --git a/resources/profiles/Elegoo/filament/ECC2/Elegoo ABS @ECC2.json b/resources/profiles/Elegoo/filament/ECC2/Elegoo ABS @ECC2.json new file mode 100644 index 00000000000..d4c1d7aec77 --- /dev/null +++ b/resources/profiles/Elegoo/filament/ECC2/Elegoo ABS @ECC2.json @@ -0,0 +1,29 @@ +{ + "type": "filament", + "name": "Elegoo ABS @ECC2", + "inherits": "Elegoo ABS @base", + "from": "system", + "setting_id": "EABSECC2", + "instantiation": "true", + "fan_max_speed": [ + "40" + ], + "filament_max_volumetric_speed": [ + "18" + ], + "pressure_advance": [ + "0.024" + ], + "nozzle_temperature": [ + "270" + ], + "nozzle_temperature_initial_layer": [ + "270" + ], + "compatible_printers": [ + "Elegoo Centauri Carbon 2 0.4 nozzle", + "Elegoo Centauri Carbon 2 0.6 nozzle", + "Elegoo Centauri Carbon 2 0.8 nozzle" + ] +} + \ No newline at end of file diff --git a/resources/profiles/Elegoo/filament/ECC2/Elegoo PAHT-CF @ECC2.json b/resources/profiles/Elegoo/filament/ECC2/Elegoo PAHT-CF @ECC2.json new file mode 100644 index 00000000000..f7b6f8941a7 --- /dev/null +++ b/resources/profiles/Elegoo/filament/ECC2/Elegoo PAHT-CF @ECC2.json @@ -0,0 +1,70 @@ +{ + "type": "filament", + "name": "Elegoo PAHT-CF @ECC2", + "inherits": "Elegoo PAHT @base", + "from": "system", + "setting_id": "EPAHTCFECC2", + "instantiation": "true", + "close_fan_the_first_x_layers": [ + "3" + ], + "fan_cooling_layer_time": [ + "5" + ], + "fan_max_speed": [ + "30" + ], + "fan_min_speed": [ + "10" + ], + "filament_flow_ratio": [ + "0.96" + ], + "filament_max_volumetric_speed": [ + "8" + ], + "nozzle_temperature": [ + "290" + ], + "nozzle_temperature_initial_layer": [ + "290" + ], + "nozzle_temperature_range_high": [ + "290" + ], + "nozzle_temperature_range_low": [ + "260" + ], + "overhang_fan_speed": [ + "40" + ], + "overhang_fan_threshold": [ + "0%" + ], + "reduce_fan_stop_start_freq": [ + "0" + ], + "slow_down_layer_time": [ + "2" + ], + "slow_down_min_speed": [ + "10" + ], + "textured_plate_temp": [ + "100" + ], + "textured_plate_temp_initial_layer": [ + "100" + ], + "pressure_advance": [ + "0.024" + ], + "filament_start_gcode": [ + "; filament start gcode\n{if (bed_temperature[current_extruder] >55)||(bed_temperature_initial_layer[current_extruder] >55)}M106 P3 S200\n{elsif(bed_temperature[current_extruder] >50)||(bed_temperature_initial_layer[current_extruder] >50)}M106 P3 S150\n{elsif(bed_temperature[current_extruder] >45)||(bed_temperature_initial_layer[current_extruder] >45)}M106 P3 S50\n{endif}\n\n{if activate_air_filtration[current_extruder] && support_air_filtration}\nM106 P3 S{during_print_exhaust_fan_speed_num[current_extruder]} \n{endif}" + ], + "compatible_printers": [ + "Elegoo Centauri Carbon 2 0.4 nozzle", + "Elegoo Centauri Carbon 2 0.6 nozzle", + "Elegoo Centauri Carbon 2 0.8 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/Elegoo/filament/ECC2/Elegoo PC @ECC2.json b/resources/profiles/Elegoo/filament/ECC2/Elegoo PC @ECC2.json new file mode 100644 index 00000000000..d63501734cc --- /dev/null +++ b/resources/profiles/Elegoo/filament/ECC2/Elegoo PC @ECC2.json @@ -0,0 +1,55 @@ +{ + "type": "filament", + "name": "Elegoo PC @ECC2", + "inherits": "Elegoo PC @base", + "from": "system", + "setting_id": "EPCECC2", + "instantiation": "true", + "pressure_advance": [ + "0.024" + ], + "nozzle_temperature": [ + "270" + ], + "nozzle_temperature_initial_layer": [ + "270" + ], + "nozzle_temperature_range_high": [ + "270" + ], + "nozzle_temperature_range_low": [ + "250" + ], + "overhang_fan_threshold": [ + "25%" + ], + "slow_down_layer_time": [ + "6" + ], + "textured_plate_temp": [ + "100" + ], + "textured_plate_temp_initial_layer": [ + "100" + ], + "fan_cooling_layer_time": [ + "30" + ], + "fan_max_speed": [ + "35" + ], + "fan_min_speed": [ + "10" + ], + "filament_max_volumetric_speed": [ + "16" + ], + "filament_start_gcode": [ + "; filament start gcode\n{if (bed_temperature[current_extruder] >55)||(bed_temperature_initial_layer[current_extruder] >55)}M106 P3 S200\n{elsif(bed_temperature[current_extruder] >50)||(bed_temperature_initial_layer[current_extruder] >50)}M106 P3 S150\n{elsif(bed_temperature[current_extruder] >45)||(bed_temperature_initial_layer[current_extruder] >45)}M106 P3 S50\n{endif}\n\n{if activate_air_filtration[current_extruder] && support_air_filtration}\nM106 P3 S{during_print_exhaust_fan_speed_num[current_extruder]} \n{endif}" + ], + "compatible_printers": [ + "Elegoo Centauri Carbon 2 0.4 nozzle", + "Elegoo Centauri Carbon 2 0.6 nozzle", + "Elegoo Centauri Carbon 2 0.8 nozzle" + ] +} diff --git a/resources/profiles/Elegoo/filament/ECC2/Elegoo PC-FR @ECC2.json b/resources/profiles/Elegoo/filament/ECC2/Elegoo PC-FR @ECC2.json new file mode 100644 index 00000000000..f9f54af7b86 --- /dev/null +++ b/resources/profiles/Elegoo/filament/ECC2/Elegoo PC-FR @ECC2.json @@ -0,0 +1,41 @@ +{ + "type": "filament", + "name": "Elegoo PC-FR @ECC2", + "inherits": "Elegoo PC @base", + "from": "system", + "setting_id": "EPCFRECC2", + "instantiation": "true", + "pressure_advance": [ + "0.024" + ], + "nozzle_temperature": [ + "280" + ], + "nozzle_temperature_initial_layer": [ + "280" + ], + "nozzle_temperature_range_high": [ + "290" + ], + "nozzle_temperature_range_low": [ + "260" + ], + "slow_down_layer_time": [ + "10" + ], + "fan_max_speed": [ + "40" + ], + "filament_density": [ + "1.1" + ], + "filament_max_volumetric_speed": [ + "18" + ], + "compatible_printers": [ + "Elegoo Centauri Carbon 2 0.4 nozzle", + "Elegoo Centauri Carbon 2 0.6 nozzle", + "Elegoo Centauri Carbon 2 0.8 nozzle" + ] +} + \ No newline at end of file diff --git a/resources/profiles/Elegoo/filament/ECC2/Elegoo PETG @ECC2.json b/resources/profiles/Elegoo/filament/ECC2/Elegoo PETG @ECC2.json new file mode 100644 index 00000000000..6ea7969c819 --- /dev/null +++ b/resources/profiles/Elegoo/filament/ECC2/Elegoo PETG @ECC2.json @@ -0,0 +1,28 @@ +{ + "type": "filament", + "name": "Elegoo PETG @ECC2", + "inherits": "Elegoo PETG @base", + "from": "system", + "setting_id": "EPETGECC2", + "instantiation": "true", + "pressure_advance": [ + "0.024" + ], + "overhang_fan_threshold": [ + "50%" + ], + "nozzle_temperature": [ + "250" + ], + "nozzle_temperature_initial_layer": [ + "250" + ], + "filament_max_volumetric_speed": [ + "11" + ], + "compatible_printers": [ + "Elegoo Centauri Carbon 2 0.4 nozzle", + "Elegoo Centauri Carbon 2 0.6 nozzle", + "Elegoo Centauri Carbon 2 0.8 nozzle" + ] +} diff --git a/resources/profiles/Elegoo/filament/ECC2/Elegoo PETG PRO @ECC2.json b/resources/profiles/Elegoo/filament/ECC2/Elegoo PETG PRO @ECC2.json index 98083c47b8c..389ba80a030 100644 --- a/resources/profiles/Elegoo/filament/ECC2/Elegoo PETG PRO @ECC2.json +++ b/resources/profiles/Elegoo/filament/ECC2/Elegoo PETG PRO @ECC2.json @@ -1,7 +1,7 @@ { "type": "filament", "name": "Elegoo PETG PRO @ECC2", - "inherits": "Elegoo PETG PRO @base", + "inherits": "Elegoo PETG @base", "from": "system", "setting_id": "EPETGPROECC2", "instantiation": "true", diff --git a/resources/profiles/Elegoo/filament/ECC2/Elegoo PETG Translucent @ECC2.json b/resources/profiles/Elegoo/filament/ECC2/Elegoo PETG Translucent @ECC2.json new file mode 100644 index 00000000000..4717fc72119 --- /dev/null +++ b/resources/profiles/Elegoo/filament/ECC2/Elegoo PETG Translucent @ECC2.json @@ -0,0 +1,28 @@ +{ + "type": "filament", + "name": "Elegoo PETG Translucent @ECC2", + "inherits": "Elegoo PETG @base", + "from": "system", + "setting_id": "EPETGTRANSECC2", + "instantiation": "true", + "pressure_advance": [ + "0.024" + ], + "fan_max_speed": [ + "35" + ], + "filament_max_volumetric_speed": [ + "10" + ], + "nozzle_temperature": [ + "255" + ], + "nozzle_temperature_initial_layer": [ + "255" + ], + "compatible_printers": [ + "Elegoo Centauri Carbon 2 0.4 nozzle", + "Elegoo Centauri Carbon 2 0.6 nozzle", + "Elegoo Centauri Carbon 2 0.8 nozzle" + ] +} diff --git a/resources/profiles/Elegoo/filament/ECC2/Elegoo PETG-CF @ECC2.json b/resources/profiles/Elegoo/filament/ECC2/Elegoo PETG-CF @ECC2.json new file mode 100644 index 00000000000..283bd114627 --- /dev/null +++ b/resources/profiles/Elegoo/filament/ECC2/Elegoo PETG-CF @ECC2.json @@ -0,0 +1,43 @@ +{ + "type": "filament", + "name": "Elegoo PETG-CF @ECC2", + "inherits": "Elegoo PETG @base", + "from": "system", + "setting_id": "EPETGCFECC2", + "instantiation": "true", + "pressure_advance": [ + "0.024" + ], + "filament_density": [ + "1.26" + ], + "nozzle_temperature": [ + "250" + ], + "nozzle_temperature_initial_layer": [ + "250" + ], + "fan_max_speed": [ + "40" + ], + "fan_min_speed": [ + "5" + ], + "filament_max_volumetric_speed": [ + "15" + ], + "nozzle_temperature_range_low": [ + "240" + ], + "overhang_fan_speed": [ + "100" + ], + "slow_down_layer_time": [ + "6" + ], + "compatible_printers": [ + "Elegoo Centauri Carbon 2 0.4 nozzle", + "Elegoo Centauri Carbon 2 0.6 nozzle", + "Elegoo Centauri Carbon 2 0.8 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/Elegoo/filament/ECC2/Elegoo PETG-GF @ECC2.json b/resources/profiles/Elegoo/filament/ECC2/Elegoo PETG-GF @ECC2.json new file mode 100644 index 00000000000..1b63259609a --- /dev/null +++ b/resources/profiles/Elegoo/filament/ECC2/Elegoo PETG-GF @ECC2.json @@ -0,0 +1,43 @@ +{ + "type": "filament", + "name": "Elegoo PETG-GF @ECC2", + "inherits": "Elegoo PETG @base", + "from": "system", + "setting_id": "EPETGFECC2", + "instantiation": "true", + "pressure_advance": [ + "0.024" + ], + "filament_density": [ + "1.26" + ], + "nozzle_temperature": [ + "250" + ], + "nozzle_temperature_initial_layer": [ + "250" + ], + "fan_max_speed": [ + "40" + ], + "fan_min_speed": [ + "5" + ], + "filament_max_volumetric_speed": [ + "12" + ], + "nozzle_temperature_range_low": [ + "240" + ], + "overhang_fan_speed": [ + "100" + ], + "slow_down_layer_time": [ + "6" + ], + "compatible_printers": [ + "Elegoo Centauri Carbon 2 0.4 nozzle", + "Elegoo Centauri Carbon 2 0.6 nozzle", + "Elegoo Centauri Carbon 2 0.8 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/Elegoo/filament/ECC2/Elegoo PLA @ECC2.json b/resources/profiles/Elegoo/filament/ECC2/Elegoo PLA @ECC2.json new file mode 100644 index 00000000000..ca4bf7585b8 --- /dev/null +++ b/resources/profiles/Elegoo/filament/ECC2/Elegoo PLA @ECC2.json @@ -0,0 +1,31 @@ +{ + "type": "filament", + "name": "Elegoo PLA @ECC2", + "inherits": "Elegoo PLA @base", + "from": "system", + "setting_id": "EPLAECC2", + "instantiation": "true", + "filament_max_volumetric_speed": [ + "21" + ], + "nozzle_temperature_initial_layer": [ + "210" + ], + "nozzle_temperature": [ + "210" + ], + "pressure_advance": [ + "0.024" + ], + "slow_down_layer_time": [ + "4" + ], + "filament_start_gcode": [ + "; filament start gcode\n{if (bed_temperature[current_extruder] >55)||(bed_temperature_initial_layer[current_extruder] >55)}M106 P3 S200\n{elsif(bed_temperature[current_extruder] >50)||(bed_temperature_initial_layer[current_extruder] >50)}M106 P3 S150\n{elsif(bed_temperature[current_extruder] >45)||(bed_temperature_initial_layer[current_extruder] >45)}M106 P3 S50\n{endif}\n\n{if activate_air_filtration[current_extruder] && support_air_filtration}\nM106 P3 S{during_print_exhaust_fan_speed_num[current_extruder]} \n{endif}" + ], + "compatible_printers": [ + "Elegoo Centauri Carbon 2 0.4 nozzle", + "Elegoo Centauri Carbon 2 0.6 nozzle", + "Elegoo Centauri Carbon 2 0.8 nozzle" + ] +} diff --git a/resources/profiles/Elegoo/filament/ECC2/Elegoo PLA Basic @ECC2.json b/resources/profiles/Elegoo/filament/ECC2/Elegoo PLA Basic @ECC2.json new file mode 100644 index 00000000000..a31556cf277 --- /dev/null +++ b/resources/profiles/Elegoo/filament/ECC2/Elegoo PLA Basic @ECC2.json @@ -0,0 +1,34 @@ +{ + "type": "filament", + "name": "Elegoo PLA Basic @ECC2", + "inherits": "Elegoo PLA @base", + "from": "system", + "setting_id": "EPLABASICECC2", + "instantiation": "true", + "nozzle_temperature": [ + "220" + ], + "nozzle_temperature_initial_layer": [ + "220" + ], + "nozzle_temperature_range_high": [ + "230" + ], + "filament_max_volumetric_speed": [ + "21" + ], + "pressure_advance": [ + "0.024" + ], + "slow_down_layer_time": [ + "4" + ], + "filament_start_gcode": [ + "; filament start gcode\n{if (bed_temperature[current_extruder] >55)||(bed_temperature_initial_layer[current_extruder] >55)}M106 P3 S200\n{elsif(bed_temperature[current_extruder] >50)||(bed_temperature_initial_layer[current_extruder] >50)}M106 P3 S150\n{elsif(bed_temperature[current_extruder] >45)||(bed_temperature_initial_layer[current_extruder] >45)}M106 P3 S50\n{endif}\n\n{if activate_air_filtration[current_extruder] && support_air_filtration}\nM106 P3 S{during_print_exhaust_fan_speed_num[current_extruder]} \n{endif}" + ], + "compatible_printers": [ + "Elegoo Centauri Carbon 2 0.4 nozzle", + "Elegoo Centauri Carbon 2 0.6 nozzle", + "Elegoo Centauri Carbon 2 0.8 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/Elegoo/filament/ECC2/Elegoo PLA Galaxy @ECC2.json b/resources/profiles/Elegoo/filament/ECC2/Elegoo PLA Galaxy @ECC2.json new file mode 100644 index 00000000000..a6e036b6510 --- /dev/null +++ b/resources/profiles/Elegoo/filament/ECC2/Elegoo PLA Galaxy @ECC2.json @@ -0,0 +1,37 @@ +{ + "type": "filament", + "name": "Elegoo PLA Galaxy @ECC2", + "inherits": "Elegoo PLA @base", + "from": "system", + "setting_id": "EPLAGALAXYECC2", + "instantiation": "true", + "fan_min_speed": [ + "80" + ], + "filament_max_volumetric_speed": [ + "18" + ], + "nozzle_temperature": [ + "220" + ], + "nozzle_temperature_initial_layer": [ + "220" + ], + "nozzle_temperature_range_high": [ + "220" + ], + "pressure_advance": [ + "0.024" + ], + "slow_down_layer_time": [ + "4" + ], + "filament_start_gcode": [ + "; filament start gcode\n{if (bed_temperature[current_extruder] >55)||(bed_temperature_initial_layer[current_extruder] >55)}M106 P3 S200\n{elsif(bed_temperature[current_extruder] >50)||(bed_temperature_initial_layer[current_extruder] >50)}M106 P3 S150\n{elsif(bed_temperature[current_extruder] >45)||(bed_temperature_initial_layer[current_extruder] >45)}M106 P3 S50\n{endif}\n\n{if activate_air_filtration[current_extruder] && support_air_filtration}\nM106 P3 S{during_print_exhaust_fan_speed_num[current_extruder]} \n{endif}" + ], + "compatible_printers": [ + "Elegoo Centauri Carbon 2 0.4 nozzle", + "Elegoo Centauri Carbon 2 0.6 nozzle", + "Elegoo Centauri Carbon 2 0.8 nozzle" + ] +} diff --git a/resources/profiles/Elegoo/filament/ECC2/Elegoo PLA Marble @ECC2.json b/resources/profiles/Elegoo/filament/ECC2/Elegoo PLA Marble @ECC2.json new file mode 100644 index 00000000000..8e6ed8e4570 --- /dev/null +++ b/resources/profiles/Elegoo/filament/ECC2/Elegoo PLA Marble @ECC2.json @@ -0,0 +1,37 @@ +{ + "type": "filament", + "name": "Elegoo PLA Marble @ECC2", + "inherits": "Elegoo PLA @base", + "from": "system", + "setting_id": "EPLAMARBLEECC2", + "instantiation": "true", + "fan_min_speed": [ + "80" + ], + "filament_max_volumetric_speed": [ + "18" + ], + "nozzle_temperature": [ + "220" + ], + "nozzle_temperature_initial_layer": [ + "220" + ], + "nozzle_temperature_range_high": [ + "220" + ], + "pressure_advance": [ + "0.024" + ], + "slow_down_layer_time": [ + "4" + ], + "filament_start_gcode": [ + "; filament start gcode\n{if (bed_temperature[current_extruder] >55)||(bed_temperature_initial_layer[current_extruder] >55)}M106 P3 S200\n{elsif(bed_temperature[current_extruder] >50)||(bed_temperature_initial_layer[current_extruder] >50)}M106 P3 S150\n{elsif(bed_temperature[current_extruder] >45)||(bed_temperature_initial_layer[current_extruder] >45)}M106 P3 S50\n{endif}\n\n{if activate_air_filtration[current_extruder] && support_air_filtration}\nM106 P3 S{during_print_exhaust_fan_speed_num[current_extruder]} \n{endif}" + ], + "compatible_printers": [ + "Elegoo Centauri Carbon 2 0.4 nozzle", + "Elegoo Centauri Carbon 2 0.6 nozzle", + "Elegoo Centauri Carbon 2 0.8 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/Elegoo/filament/ECC2/Elegoo PLA Matte @ECC2.json b/resources/profiles/Elegoo/filament/ECC2/Elegoo PLA Matte @ECC2.json index d8009c10224..75bbf751a42 100644 --- a/resources/profiles/Elegoo/filament/ECC2/Elegoo PLA Matte @ECC2.json +++ b/resources/profiles/Elegoo/filament/ECC2/Elegoo PLA Matte @ECC2.json @@ -1,7 +1,7 @@ { "type": "filament", "name": "Elegoo PLA Matte @ECC2", - "inherits": "Elegoo PLA Matte @base", + "inherits": "Elegoo PLA @base", "from": "system", "setting_id": "EPLAMECC2", "instantiation": "true", diff --git a/resources/profiles/Elegoo/filament/ECC2/Elegoo PLA Silk @ECC2.json b/resources/profiles/Elegoo/filament/ECC2/Elegoo PLA Silk @ECC2.json index cabe0be9b4f..5b7e4a2f839 100644 --- a/resources/profiles/Elegoo/filament/ECC2/Elegoo PLA Silk @ECC2.json +++ b/resources/profiles/Elegoo/filament/ECC2/Elegoo PLA Silk @ECC2.json @@ -1,7 +1,7 @@ { "type": "filament", "name": "Elegoo PLA Silk @ECC2", - "inherits": "Elegoo PLA Silk @base", + "inherits": "Elegoo PLA @base", "from": "system", "setting_id": "EPLASECC2", "instantiation": "true", diff --git a/resources/profiles/Elegoo/filament/ECC2/Elegoo PLA Sparkle @ECC2.json b/resources/profiles/Elegoo/filament/ECC2/Elegoo PLA Sparkle @ECC2.json new file mode 100644 index 00000000000..f333b376484 --- /dev/null +++ b/resources/profiles/Elegoo/filament/ECC2/Elegoo PLA Sparkle @ECC2.json @@ -0,0 +1,37 @@ +{ + "type": "filament", + "name": "Elegoo PLA Sparkle @ECC2", + "inherits": "Elegoo PLA @base", + "from": "system", + "setting_id": "EPLASPARKLEECC2", + "instantiation": "true", + "fan_min_speed": [ + "80" + ], + "filament_max_volumetric_speed": [ + "18" + ], + "nozzle_temperature": [ + "220" + ], + "nozzle_temperature_initial_layer": [ + "220" + ], + "nozzle_temperature_range_high": [ + "220" + ], + "pressure_advance": [ + "0.024" + ], + "slow_down_layer_time": [ + "4" + ], + "filament_start_gcode": [ + "; filament start gcode\n{if (bed_temperature[current_extruder] >55)||(bed_temperature_initial_layer[current_extruder] >55)}M106 P3 S200\n{elsif(bed_temperature[current_extruder] >50)||(bed_temperature_initial_layer[current_extruder] >50)}M106 P3 S150\n{elsif(bed_temperature[current_extruder] >45)||(bed_temperature_initial_layer[current_extruder] >45)}M106 P3 S50\n{endif}\n\n{if activate_air_filtration[current_extruder] && support_air_filtration}\nM106 P3 S{during_print_exhaust_fan_speed_num[current_extruder]} \n{endif}" + ], + "compatible_printers": [ + "Elegoo Centauri Carbon 2 0.4 nozzle", + "Elegoo Centauri Carbon 2 0.6 nozzle", + "Elegoo Centauri Carbon 2 0.8 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/Elegoo/filament/ECC2/Elegoo PLA Wood @ECC2.json b/resources/profiles/Elegoo/filament/ECC2/Elegoo PLA Wood @ECC2.json new file mode 100644 index 00000000000..ba217d5988d --- /dev/null +++ b/resources/profiles/Elegoo/filament/ECC2/Elegoo PLA Wood @ECC2.json @@ -0,0 +1,37 @@ +{ + "type": "filament", + "name": "Elegoo PLA Wood @ECC2", + "inherits": "Elegoo PLA @base", + "from": "system", + "setting_id": "EPLAWOODECC2", + "instantiation": "true", + "fan_min_speed": [ + "80" + ], + "filament_max_volumetric_speed": [ + "15" + ], + "nozzle_temperature": [ + "220" + ], + "nozzle_temperature_initial_layer": [ + "220" + ], + "nozzle_temperature_range_low": [ + "200" + ], + "pressure_advance": [ + "0.024" + ], + "slow_down_layer_time": [ + "4" + ], + "filament_start_gcode": [ + "; filament start gcode\n{if (bed_temperature[current_extruder] >55)||(bed_temperature_initial_layer[current_extruder] >55)}M106 P3 S200\n{elsif(bed_temperature[current_extruder] >50)||(bed_temperature_initial_layer[current_extruder] >50)}M106 P3 S150\n{elsif(bed_temperature[current_extruder] >45)||(bed_temperature_initial_layer[current_extruder] >45)}M106 P3 S50\n{endif}\n\n{if activate_air_filtration[current_extruder] && support_air_filtration}\nM106 P3 S{during_print_exhaust_fan_speed_num[current_extruder]} \n{endif}" + ], + "compatible_printers": [ + "Elegoo Centauri Carbon 2 0.4 nozzle", + "Elegoo Centauri Carbon 2 0.6 nozzle", + "Elegoo Centauri Carbon 2 0.8 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/Elegoo/filament/ECC2/Elegoo PLA-CF @ECC2.json b/resources/profiles/Elegoo/filament/ECC2/Elegoo PLA-CF @ECC2.json index bcd4e51e514..d3462bf0e19 100644 --- a/resources/profiles/Elegoo/filament/ECC2/Elegoo PLA-CF @ECC2.json +++ b/resources/profiles/Elegoo/filament/ECC2/Elegoo PLA-CF @ECC2.json @@ -1,7 +1,7 @@ { "type": "filament", "name": "Elegoo PLA-CF @ECC2", - "inherits": "Elegoo PLA-CF @base", + "inherits": "Elegoo PLA @base", "from": "system", "setting_id": "EPLACFECC2", "instantiation": "true", diff --git a/resources/profiles/Elegoo/filament/ECC2/Elegoo RAPID PETG @ECC2.json b/resources/profiles/Elegoo/filament/ECC2/Elegoo RAPID PETG @ECC2.json index 8f22cf1d8fe..bbb11d0bb48 100644 --- a/resources/profiles/Elegoo/filament/ECC2/Elegoo RAPID PETG @ECC2.json +++ b/resources/profiles/Elegoo/filament/ECC2/Elegoo RAPID PETG @ECC2.json @@ -1,7 +1,7 @@ { "type": "filament", "name": "Elegoo RAPID PETG @ECC2", - "inherits": "Elegoo RAPID PETG @base", + "inherits": "Elegoo PETG @base", "from": "system", "setting_id": "ERPETGECC2", "instantiation": "true", diff --git a/resources/profiles/Elegoo/filament/ECC2/Elegoo RAPID TPU 95A @ECC2.json b/resources/profiles/Elegoo/filament/ECC2/Elegoo RAPID TPU 95A @ECC2.json new file mode 100644 index 00000000000..a4625b32f75 --- /dev/null +++ b/resources/profiles/Elegoo/filament/ECC2/Elegoo RAPID TPU 95A @ECC2.json @@ -0,0 +1,28 @@ +{ + "type": "filament", + "name": "Elegoo RAPID TPU 95A @ECC2", + "inherits": "Elegoo TPU @base", + "from": "system", + "setting_id": "ERTPU95AECC2", + "instantiation": "true", + "pressure_advance": [ + "0.024" + ], + "nozzle_temperature": [ + "230" + ], + "nozzle_temperature_initial_layer": [ + "230" + ], + "nozzle_temperature_range_high": [ + "230" + ], + "filament_max_volumetric_speed": [ + "12" + ], + "compatible_printers": [ + "Elegoo Centauri Carbon 2 0.4 nozzle", + "Elegoo Centauri Carbon 2 0.6 nozzle", + "Elegoo Centauri Carbon 2 0.8 nozzle" + ] +} diff --git a/resources/profiles/Elegoo/filament/ECC2/Elegoo TPU 95A @ECC2.json b/resources/profiles/Elegoo/filament/ECC2/Elegoo TPU 95A @ECC2.json index 0674aea0f5d..91763946a87 100644 --- a/resources/profiles/Elegoo/filament/ECC2/Elegoo TPU 95A @ECC2.json +++ b/resources/profiles/Elegoo/filament/ECC2/Elegoo TPU 95A @ECC2.json @@ -1,7 +1,7 @@ { "type": "filament", "name": "Elegoo TPU 95A @ECC2", - "inherits": "Elegoo TPU 95A @base", + "inherits": "Elegoo TPU @base", "from": "system", "setting_id": "ETPU95AECC2", "instantiation": "true", diff --git a/resources/profiles/Elegoo/filament/ELEGOO/Elegoo ABS @0.2 nozzle.json b/resources/profiles/Elegoo/filament/ELEGOO/Elegoo ABS @0.2 nozzle.json new file mode 100644 index 00000000000..5a206e7814a --- /dev/null +++ b/resources/profiles/Elegoo/filament/ELEGOO/Elegoo ABS @0.2 nozzle.json @@ -0,0 +1,35 @@ +{ + "type": "filament", + "name": "Elegoo ABS @0.2 nozzle", + "inherits": "Elegoo ABS @base", + "from": "system", + "setting_id": "EABS00020", + "instantiation": "true", + "fan_max_speed": [ + "40" + ], + "filament_max_volumetric_speed": [ + "18" + ], + "pressure_advance": [ + "0.024" + ], + "nozzle_temperature": [ + "270" + ], + "nozzle_temperature_initial_layer": [ + "270" + ], + "compatible_printers": [ + "Elegoo Centauri 0.2 nozzle", + "Elegoo Centauri Carbon 0.2 nozzle", + "Elegoo Centauri Carbon 2 0.2 nozzle", + "Elegoo Neptune 4 0.2 nozzle", + "Elegoo Neptune 4 Pro 0.2 nozzle", + "Elegoo Neptune 4 Plus 0.2 nozzle", + "Elegoo Neptune 4 Max 0.2 nozzle", + "Elegoo Neptune 3 Pro 0.2 nozzle", + "Elegoo Neptune 3 Plus 0.2 nozzle", + "Elegoo Neptune 3 Max 0.2 nozzle" + ] +} diff --git a/resources/profiles/Elegoo/filament/ELEGOO/Elegoo PC @0.2 nozzle.json b/resources/profiles/Elegoo/filament/ELEGOO/Elegoo PC @0.2 nozzle.json new file mode 100644 index 00000000000..5f474c7ff82 --- /dev/null +++ b/resources/profiles/Elegoo/filament/ELEGOO/Elegoo PC @0.2 nozzle.json @@ -0,0 +1,62 @@ +{ + "type": "filament", + "name": "Elegoo PC @0.2 nozzle", + "inherits": "Elegoo PC @base", + "from": "system", + "setting_id": "EPC00020", + "instantiation": "true", + "pressure_advance": [ + "0.024" + ], + "nozzle_temperature": [ + "270" + ], + "nozzle_temperature_initial_layer": [ + "270" + ], + "nozzle_temperature_range_high": [ + "270" + ], + "nozzle_temperature_range_low": [ + "250" + ], + "overhang_fan_threshold": [ + "25%" + ], + "slow_down_layer_time": [ + "6" + ], + "textured_plate_temp": [ + "100" + ], + "textured_plate_temp_initial_layer": [ + "100" + ], + "fan_cooling_layer_time": [ + "30" + ], + "fan_max_speed": [ + "35" + ], + "fan_min_speed": [ + "10" + ], + "filament_max_volumetric_speed": [ + "16" + ], + "filament_start_gcode": [ + "; filament start gcode\n{if (bed_temperature[current_extruder] >55)||(bed_temperature_initial_layer[current_extruder] >55)}M106 P3 S200\n{elsif(bed_temperature[current_extruder] >50)||(bed_temperature_initial_layer[current_extruder] >50)}M106 P3 S150\n{elsif(bed_temperature[current_extruder] >45)||(bed_temperature_initial_layer[current_extruder] >45)}M106 P3 S50\n{endif}\n\n{if activate_air_filtration[current_extruder] && support_air_filtration}\nM106 P3 S{during_print_exhaust_fan_speed_num[current_extruder]} \n{endif}" + ], + "compatible_printers": [ + "Elegoo Centauri 0.2 nozzle", + "Elegoo Centauri Carbon 0.2 nozzle", + "Elegoo Centauri Carbon 2 0.2 nozzle", + "Elegoo Neptune 4 0.2 nozzle", + "Elegoo Neptune 4 Pro 0.2 nozzle", + "Elegoo Neptune 4 Plus 0.2 nozzle", + "Elegoo Neptune 4 Max 0.2 nozzle", + "Elegoo Neptune 3 Pro 0.2 nozzle", + "Elegoo Neptune 3 Plus 0.2 nozzle", + "Elegoo Neptune 3 Max 0.2 nozzle" + ] +} diff --git a/resources/profiles/Elegoo/filament/ELEGOO/Elegoo PC-FR @0.2 nozzle.json b/resources/profiles/Elegoo/filament/ELEGOO/Elegoo PC-FR @0.2 nozzle.json new file mode 100644 index 00000000000..7e133ac949d --- /dev/null +++ b/resources/profiles/Elegoo/filament/ELEGOO/Elegoo PC-FR @0.2 nozzle.json @@ -0,0 +1,47 @@ +{ + "type": "filament", + "name": "Elegoo PC-FR @0.2 nozzle", + "inherits": "Elegoo PC @base", + "from": "system", + "setting_id": "EPCFR00020", + "instantiation": "true", + "pressure_advance": [ + "0.024" + ], + "nozzle_temperature": [ + "280" + ], + "nozzle_temperature_initial_layer": [ + "280" + ], + "nozzle_temperature_range_high": [ + "290" + ], + "nozzle_temperature_range_low": [ + "260" + ], + "slow_down_layer_time": [ + "10" + ], + "fan_max_speed": [ + "40" + ], + "filament_density": [ + "1.1" + ], + "filament_max_volumetric_speed": [ + "18" + ], + "compatible_printers": [ + "Elegoo Centauri 0.2 nozzle", + "Elegoo Centauri Carbon 0.2 nozzle", + "Elegoo Centauri Carbon 2 0.2 nozzle", + "Elegoo Neptune 4 0.2 nozzle", + "Elegoo Neptune 4 Pro 0.2 nozzle", + "Elegoo Neptune 4 Plus 0.2 nozzle", + "Elegoo Neptune 4 Max 0.2 nozzle", + "Elegoo Neptune 3 Pro 0.2 nozzle", + "Elegoo Neptune 3 Plus 0.2 nozzle", + "Elegoo Neptune 3 Max 0.2 nozzle" + ] +} diff --git a/resources/profiles/Elegoo/filament/ELEGOO/Elegoo PETG @0.2 nozzle.json b/resources/profiles/Elegoo/filament/ELEGOO/Elegoo PETG @0.2 nozzle.json new file mode 100644 index 00000000000..cb911814f02 --- /dev/null +++ b/resources/profiles/Elegoo/filament/ELEGOO/Elegoo PETG @0.2 nozzle.json @@ -0,0 +1,35 @@ +{ + "type": "filament", + "name": "Elegoo PETG @0.2 nozzle", + "inherits": "Elegoo PETG @base", + "from": "system", + "setting_id": "EPETG00020", + "instantiation": "true", + "pressure_advance": [ + "0.024" + ], + "overhang_fan_threshold": [ + "50%" + ], + "nozzle_temperature": [ + "250" + ], + "nozzle_temperature_initial_layer": [ + "250" + ], + "filament_max_volumetric_speed": [ + "11" + ], + "compatible_printers": [ + "Elegoo Centauri 0.2 nozzle", + "Elegoo Centauri Carbon 0.2 nozzle", + "Elegoo Centauri Carbon 2 0.2 nozzle", + "Elegoo Neptune 4 0.2 nozzle", + "Elegoo Neptune 4 Pro 0.2 nozzle", + "Elegoo Neptune 4 Plus 0.2 nozzle", + "Elegoo Neptune 4 Max 0.2 nozzle", + "Elegoo Neptune 3 Pro 0.2 nozzle", + "Elegoo Neptune 3 Plus 0.2 nozzle", + "Elegoo Neptune 3 Max 0.2 nozzle" + ] +} diff --git a/resources/profiles/Elegoo/filament/ELEGOO/Elegoo PETG Translucent @0.2 nozzle.json b/resources/profiles/Elegoo/filament/ELEGOO/Elegoo PETG Translucent @0.2 nozzle.json new file mode 100644 index 00000000000..faa1a7c75fd --- /dev/null +++ b/resources/profiles/Elegoo/filament/ELEGOO/Elegoo PETG Translucent @0.2 nozzle.json @@ -0,0 +1,35 @@ +{ + "type": "filament", + "name": "Elegoo PETG Translucent @0.2 nozzle", + "inherits": "Elegoo PETG @base", + "from": "system", + "setting_id": "EPETGTRAN00020", + "instantiation": "true", + "pressure_advance": [ + "0.024" + ], + "fan_max_speed": [ + "35" + ], + "filament_max_volumetric_speed": [ + "10" + ], + "nozzle_temperature": [ + "255" + ], + "nozzle_temperature_initial_layer": [ + "255" + ], + "compatible_printers": [ + "Elegoo Centauri 0.2 nozzle", + "Elegoo Centauri Carbon 0.2 nozzle", + "Elegoo Centauri Carbon 2 0.2 nozzle", + "Elegoo Neptune 4 0.2 nozzle", + "Elegoo Neptune 4 Pro 0.2 nozzle", + "Elegoo Neptune 4 Plus 0.2 nozzle", + "Elegoo Neptune 4 Max 0.2 nozzle", + "Elegoo Neptune 3 Pro 0.2 nozzle", + "Elegoo Neptune 3 Plus 0.2 nozzle", + "Elegoo Neptune 3 Max 0.2 nozzle" + ] +} diff --git a/resources/profiles/Elegoo/filament/ELEGOO/Elegoo PLA Basic @0.2 nozzle.json b/resources/profiles/Elegoo/filament/ELEGOO/Elegoo PLA Basic @0.2 nozzle.json new file mode 100644 index 00000000000..e7ffca9b3a0 --- /dev/null +++ b/resources/profiles/Elegoo/filament/ELEGOO/Elegoo PLA Basic @0.2 nozzle.json @@ -0,0 +1,41 @@ +{ + "type": "filament", + "name": "Elegoo PLA Basic @0.2 nozzle", + "inherits": "Elegoo PLA @base", + "from": "system", + "setting_id": "EPLABASIC00020", + "instantiation": "true", + "nozzle_temperature": [ + "220" + ], + "nozzle_temperature_initial_layer": [ + "220" + ], + "nozzle_temperature_range_high": [ + "230" + ], + "filament_max_volumetric_speed": [ + "21" + ], + "pressure_advance": [ + "0.024" + ], + "slow_down_layer_time": [ + "4" + ], + "filament_start_gcode": [ + "; filament start gcode\n{if (bed_temperature[current_extruder] >55)||(bed_temperature_initial_layer[current_extruder] >55)}M106 P3 S200\n{elsif(bed_temperature[current_extruder] >50)||(bed_temperature_initial_layer[current_extruder] >50)}M106 P3 S150\n{elsif(bed_temperature[current_extruder] >45)||(bed_temperature_initial_layer[current_extruder] >45)}M106 P3 S50\n{endif}\n\n{if activate_air_filtration[current_extruder] && support_air_filtration}\nM106 P3 S{during_print_exhaust_fan_speed_num[current_extruder]} \n{endif}" + ], + "compatible_printers": [ + "Elegoo Centauri 0.2 nozzle", + "Elegoo Centauri Carbon 0.2 nozzle", + "Elegoo Centauri Carbon 2 0.2 nozzle", + "Elegoo Neptune 4 0.2 nozzle", + "Elegoo Neptune 4 Pro 0.2 nozzle", + "Elegoo Neptune 4 Plus 0.2 nozzle", + "Elegoo Neptune 4 Max 0.2 nozzle", + "Elegoo Neptune 3 Pro 0.2 nozzle", + "Elegoo Neptune 3 Plus 0.2 nozzle", + "Elegoo Neptune 3 Max 0.2 nozzle" + ] +} diff --git a/resources/profiles/Elegoo/filament/fdm_filament_paht.json b/resources/profiles/Elegoo/filament/fdm_filament_paht.json new file mode 100644 index 00000000000..032a66ed889 --- /dev/null +++ b/resources/profiles/Elegoo/filament/fdm_filament_paht.json @@ -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" + ] +} diff --git a/resources/profiles/Elegoo/machine/ECC2/Elegoo Centauri Carbon 2 0.4 nozzle.json b/resources/profiles/Elegoo/machine/ECC2/Elegoo Centauri Carbon 2 0.4 nozzle.json index a3ec2560ab0..882765f5900 100644 --- a/resources/profiles/Elegoo/machine/ECC2/Elegoo Centauri Carbon 2 0.4 nozzle.json +++ b/resources/profiles/Elegoo/machine/ECC2/Elegoo Centauri Carbon 2 0.4 nozzle.json @@ -1,7 +1,7 @@ { "type": "machine", "name": "Elegoo Centauri Carbon 2 0.4 nozzle", - "inherits": "fdm_machine_ecc", + "inherits": "fdm_elegoo_3dp_001_common", "from": "system", "setting_id": "ECC204", "instantiation": "true", @@ -48,7 +48,6 @@ "extruder_offset": [ "0x1.5" ], - "default_bed_type": "4", "fan_speedup_time": "0.5", "machine_load_filament_time": "29", "machine_unload_filament_time": "28", @@ -61,6 +60,7 @@ "gcode_flavor": "klipper", "machine_pause_gcode": "M600", "support_multi_filament": "1", + "support_wan_network": "1", "bed_mesh_max": "243,245", "bed_mesh_min": "10,10", "bed_mesh_probe_distance": "22,22", @@ -73,11 +73,11 @@ "20", "9" ], - "change_filament_gcode": "\n;==========CC2==========\n;===== date: 2025-10-16-001 =====================\nM106 S0\nM106 P2 S0\nG1 Z{min(max_layer_z+3, printable_height+0.5)} F1200\nT[next_extruder]\nM6211 T[next_extruder] L[flush_length] M{old_filament_e_feedrate} N{new_filament_e_feedrate} Q[old_filament_temp] R[nozzle_temperature_range_high] S[new_filament_temp]\n", + "change_filament_gcode": "\n;==========CC2_CHANGE_FILAMENT_GCODE==========\n;===== date: 2025-10-16-001 =====================\nM106 S0\nM106 P2 S0\nG1 Z{min(max_layer_z+3, printable_height+0.5)} F1200\nM6211 T[next_extruder] L[flush_length] M{old_filament_e_feedrate} N{new_filament_e_feedrate} Q[old_filament_temp] R[nozzle_temperature_range_high] S[new_filament_temp]\nT[next_extruder]\n", "layer_change_gcode": "M73 L{layer_num+1}\n;LAYER:{layer_num+1}\n", - "machine_end_gcode": ";===== CC&CC2 - END Gcode ================\n;===== date: 2025-10-16-001 =====================\n\nM104 S0\nM140 S0 ;Turn-off bed\nM83\nG92 E0 ; zero the extruder\nG1 E-1.5 F1800\nG2 I0 J1 Z{max_layer_z+0.5} F3000 ; lower z a little\nM106 S0\nM106 P2 S0\nG90\n{if max_layer_z > 75}G1 Z{min(max_layer_z+5, printable_height+0.5)} F20000{else}G1 Z80 F20000 {endif}; Move print head up \nG180 S9\nM84\n", - "machine_start_gcode": ";===== CC2 - Start Gcode ================\n;===== date: 2025-10-29-001 =====================\n\nG90\nM104 S140\nM140 S[bed_temperature_initial_layer_single]\nM190 S[bed_temperature_initial_layer_single] A\nM106 S0\nBED_MESH_CALIBRATE mesh_min={adaptive_bed_mesh_min[0]},{adaptive_bed_mesh_min[1]} mesh_max={adaptive_bed_mesh_max[0]},{adaptive_bed_mesh_max[1]} ALGORITHM=[bed_mesh_algo] PROBE_COUNT={bed_mesh_probe_count[0]},{bed_mesh_probe_count[1]} ADAPTIVE=0 ADAPTIVE_MARGIN=0 FROM_SLICER=1\nM204 S{min(20000,max(1000,outer_wall_acceleration))} ;Call exterior wall print acceleration\nG28\nM109 S[nozzle_temperature_initial_layer]\nT[initial_no_support_extruder]\nM6211 A1 T[initial_no_support_extruder] Q[nozzle_temperature_initial_layer] R[nozzle_temperature_initial_layer] S[nozzle_temperature_initial_layer]\n\n{if first_layer_print_min[1] > 0.5}\nG180 S7\nG1 X{print_bed_max[0]*0.5-1} Y-1.2 F20000\nG1 Z0.5 F900\nM109 S[nozzle_temperature_initial_layer]\nM83\nG92 E0 ;Reset Extruder\nG1 E6 F{min(1200, max(120, filament_max_volumetric_speed[initial_no_support_extruder]*60/2/2.5043))} \nM106 S200\nG1 X{print_bed_max[0]*0.5-41} E20 F{min(12000, max(1200, filament_max_volumetric_speed[initial_no_support_extruder]*60/2/2.5043))} \nG1 F6000\nG1 X{print_bed_max[0]*0.5-46} E0.8\n{else}\nG1 E30 F{min(1200, max(120, filament_max_volumetric_speed[initial_no_support_extruder]*60/2/2.5043))}\n{endif}\nM106 S0\nG180 S8\nG1 F20000\nG92 E0 ;Reset Extruder\n;LAYER_COUNT:[total_layer_count]\n;LAYER:0", + "machine_end_gcode": ";===== CC&CC2_END_GCODE ================\n;===== date: 2025-10-16-001 =====================\n\nM104 S0\nM140 S0 ;Turn-off bed\nM83\nG92 E0 ; zero the extruder\nG1 E-1.5 F1800\nG2 I0 J1 Z{max_layer_z+0.5} F3000 ; lower z a little\nM106 S0\nM106 P2 S0\nG90\n{if max_layer_z > 75}G1 Z{min(max_layer_z+5, printable_height+0.5)} F20000{else}G1 Z80 F20000 {endif}; Move print head up \nG180 S9\nM84\n", + "machine_start_gcode": ";===== CC2_START_GCODE ================\n;===== date: 2025-11-06-001 =====================\n\nG90\nM104 S140\nM140 S[bed_temperature_initial_layer_single]\nM190 S[bed_temperature_initial_layer_single] A\nM106 S0\nBED_MESH_CALIBRATE mesh_min={adaptive_bed_mesh_min[0]},{adaptive_bed_mesh_min[1]} mesh_max={adaptive_bed_mesh_max[0]},{adaptive_bed_mesh_max[1]} ALGORITHM=[bed_mesh_algo] PROBE_COUNT={bed_mesh_probe_count[0]},{bed_mesh_probe_count[1]} ADAPTIVE=0 ADAPTIVE_MARGIN=0 FROM_SLICER=1\nM204 S{min(20000,max(1000,outer_wall_acceleration))} ;Call exterior wall print acceleration\nG28\nM109 S[nozzle_temperature_initial_layer]\nM6211 A1 L200 T[initial_no_support_extruder] Q[nozzle_temperature_initial_layer] R[nozzle_temperature_initial_layer] S[nozzle_temperature_initial_layer]\nT[initial_no_support_extruder]\n\n{if first_layer_print_min[1] > 0.5}\nG180 S7\nG1 X{print_bed_max[0]*0.5-1} Y-1.2 F20000\nG1 Z0.5 F900\nM109 S[nozzle_temperature_initial_layer]\nM83\nG92 E0 ;Reset Extruder\nG1 E6 F{min(1200, max(120, filament_max_volumetric_speed[initial_no_support_extruder]*60/2/2.5043))} \nM106 S200\nG1 X{print_bed_max[0]*0.5-41} E20 F{min(12000, max(1200, filament_max_volumetric_speed[initial_no_support_extruder]*60/2/2.5043))} \nG1 F6000\nG1 X{print_bed_max[0]*0.5-46} E0.8\n{else}\nG1 E30 F{min(1200, max(120, filament_max_volumetric_speed[initial_no_support_extruder]*60/2/2.5043))}\n{endif}\nM106 S0\nG180 S8\nG1 F20000\nG92 E0 ;Reset Extruder\n;LAYER_COUNT:[total_layer_count]\n;LAYER:0", "retract_restart_extra_toolchange": [ "0.5" ] -} \ No newline at end of file +} diff --git a/resources/profiles/Elegoo/machine/ECC2/Elegoo Centauri Carbon 2.json b/resources/profiles/Elegoo/machine/ECC2/Elegoo Centauri Carbon 2.json index 50fddd4188d..17f9b6f7e81 100644 --- a/resources/profiles/Elegoo/machine/ECC2/Elegoo Centauri Carbon 2.json +++ b/resources/profiles/Elegoo/machine/ECC2/Elegoo Centauri Carbon 2.json @@ -8,5 +8,5 @@ "bed_model": "elegoo_centuri_carbon_buildplate_model.stl", "bed_texture": "elegoo_centuri_carbon_buildplate_texture.png", "hotend_model": "", - "default_materials": "Elegoo ASA @0.2 nozzle;Elegoo ASA @ECC2;Elegoo PETG @0.2 nozzle;Elegoo PETG @ECC2;Elegoo PETG PRO @0.2 nozzle;Elegoo PETG PRO @ECC2;Elegoo PLA @0.2 nozzle;Elegoo PLA Matte @0.2 nozzle;Elegoo PLA Matte @ECC2;Elegoo PLA PRO @0.2 nozzle;Elegoo PLA PRO @ECC2;Elegoo PLA Silk @0.2 nozzle;Elegoo PLA Silk @ECC2;Elegoo PLA-CF @ECC2;Elegoo PLA @ECC2;Elegoo PLA+ @0.2 nozzle;Elegoo PLA+ @ECC2;Elegoo RAPID PETG @0.2 nozzle;Elegoo RAPID PETG @ECC2;Elegoo RAPID PETG+ @0.2 nozzle;Elegoo RAPID PETG+ @ECC2;Elegoo RAPID PLA @0.2 nozzle;Elegoo RAPID PLA @ECC2;Elegoo RAPID PLA+ @0.2 nozzle;Elegoo RAPID PLA+ @ECC2;Elegoo TPU 95A @ECC2;Elegoo PLA Basic @0.2 nozzle;Elegoo PLA Basic @ECC2;Elegoo PLA Galaxy @ECC2;Elegoo PLA Marble @ECC2; Elegoo PLA Sparkle @ECC2;Elegoo PLA Wood @ECC2;Elegoo RAPID TPU 95A @ECC2;Elegoo ABS @0.2 nozzle;Elegoo ABS @ECC2;Elegoo PAHT-CF @ECC2;Elegoo PC @0.2 nozzle;Elegoo PC @ECC2;Elegoo PC-FR @0.2 nozzle;Elegoo PC-FR @ECC2;Elegoo PETG-CF @ECC2;Elegoo PETG-GF @ECC2;Elegoo PETG Translucent @0.2 nozzle;Elegoo PETG Translucent @ECC2" + "default_materials": "Elegoo ASA @0.2 nozzle;Elegoo ASA @ECC2;Elegoo PETG @0.2 nozzle;Elegoo PETG @ECC2;Elegoo PETG PRO @0.2 nozzle;Elegoo PETG PRO @ECC2;Elegoo PLA @0.2 nozzle;Elegoo PLA Matte @0.2 nozzle;Elegoo PLA Matte @ECC2;Elegoo PLA PRO @0.2 nozzle;Elegoo PLA PRO @ECC2;Elegoo PLA Silk @0.2 nozzle;Elegoo PLA Silk @ECC2;Elegoo PLA-CF @ECC2;Elegoo PLA @ECC2;Elegoo PLA+ @0.2 nozzle;Elegoo PLA+ @ECC2;Elegoo RAPID PETG @0.2 nozzle;Elegoo RAPID PETG @ECC2;Elegoo RAPID PLA+ @0.2 nozzle;Elegoo RAPID PLA+ @ECC2;Elegoo TPU 95A @ECC2;Elegoo PLA Basic @0.2 nozzle;Elegoo PLA Basic @ECC2;Elegoo PLA Galaxy @ECC2;Elegoo PLA Marble @ECC2; Elegoo PLA Sparkle @ECC2;Elegoo PLA Wood @ECC2;Elegoo RAPID TPU 95A @ECC2;Elegoo ABS @0.2 nozzle;Elegoo ABS @ECC2;Elegoo PAHT-CF @ECC2;Elegoo PC @0.2 nozzle;Elegoo PC @ECC2;Elegoo PC-FR @0.2 nozzle;Elegoo PC-FR @ECC2;Elegoo PETG-CF @ECC2;Elegoo PETG-GF @ECC2;Elegoo PETG Translucent @0.2 nozzle;Elegoo PETG Translucent @ECC2" } diff --git a/resources/profiles/Elegoo/process/ECC2/0.08mm Optimal @Elegoo CC2 0.2 nozzle.json b/resources/profiles/Elegoo/process/ECC2/0.08mm Optimal @Elegoo CC2 0.2 nozzle.json index bd1585faa71..823e5dbab84 100644 --- a/resources/profiles/Elegoo/process/ECC2/0.08mm Optimal @Elegoo CC2 0.2 nozzle.json +++ b/resources/profiles/Elegoo/process/ECC2/0.08mm Optimal @Elegoo CC2 0.2 nozzle.json @@ -1,8 +1,7 @@ { - "type": "process", - "name": "0.08mm Optimal @Elegoo CC2 0.2 nozzle", - "inherits": "0.10mm Standard @Elegoo CC2 0.2 nozzle", - "instantiation": "true", "elefant_foot_compensation": "0.05", - "layer_height": "0.08" + "inherits": "0.10mm Standard @Elegoo CC2 0.2 nozzle", + "layer_height": "0.08", + "name": "0.08mm Optimal @Elegoo CC2 0.2 nozzle", + "instantiation": "true" } \ No newline at end of file diff --git a/resources/profiles/Elegoo/process/ECC2/0.10mm Standard @Elegoo CC2 0.2 nozzle.json b/resources/profiles/Elegoo/process/ECC2/0.10mm Standard @Elegoo CC2 0.2 nozzle.json index 3c5f7a6a2d8..f77bf88635c 100644 --- a/resources/profiles/Elegoo/process/ECC2/0.10mm Standard @Elegoo CC2 0.2 nozzle.json +++ b/resources/profiles/Elegoo/process/ECC2/0.10mm Standard @Elegoo CC2 0.2 nozzle.json @@ -1,15 +1,16 @@ { "type": "process", "name": "0.10mm Standard @Elegoo CC2 0.2 nozzle", - "inherits": "fdm_process_ecc_02010", + "inherits": "fdm_process_elegoo_02010", "from": "system", "setting_id": "PECC202010", "instantiation": "true", "sparse_infill_pattern": "zig-zag", - "filename_format": "ECC2_{nozzle_diameter[0]}_{input_filename_base}_{filament_type[0]}{layer_height}_{print_time}.gcode", + "filename_format": "ECC2_{nozzle_diameter[0]}_{input_filename_base}_{filament_name}_{layer_height}_{print_time}.gcode", "min_width_top_surface": "50%", "elefant_foot_compensation": "0.15", "enable_prime_tower": "1", + "reduce_infill_retraction": "0", "compatible_printers": [ "Elegoo Centauri Carbon 2 0.2 nozzle" ] diff --git a/resources/profiles/Elegoo/process/ECC2/0.12mm Draft @Elegoo CC2 0.2 nozzle.json b/resources/profiles/Elegoo/process/ECC2/0.12mm Draft @Elegoo CC2 0.2 nozzle.json index 6785665985b..374d851f8f8 100644 --- a/resources/profiles/Elegoo/process/ECC2/0.12mm Draft @Elegoo CC2 0.2 nozzle.json +++ b/resources/profiles/Elegoo/process/ECC2/0.12mm Draft @Elegoo CC2 0.2 nozzle.json @@ -1,7 +1,6 @@ { - "type": "process", - "name": "0.12mm Draft @Elegoo CC2 0.2 nozzle", "inherits": "0.10mm Standard @Elegoo CC2 0.2 nozzle", - "instantiation": "true", - "layer_height": "0.12" + "layer_height": "0.12", + "name": "0.12mm Draft @Elegoo CC2 0.2 nozzle", + "instantiation": "true" } \ No newline at end of file diff --git a/resources/profiles/Elegoo/process/ECC2/0.12mm Fine @Elegoo CC2 0.4 nozzle.json b/resources/profiles/Elegoo/process/ECC2/0.12mm Fine @Elegoo CC2 0.4 nozzle.json index eaa179bc773..f61bc2722dc 100644 --- a/resources/profiles/Elegoo/process/ECC2/0.12mm Fine @Elegoo CC2 0.4 nozzle.json +++ b/resources/profiles/Elegoo/process/ECC2/0.12mm Fine @Elegoo CC2 0.4 nozzle.json @@ -1,8 +1,7 @@ { - "type": "process", - "name": "0.12mm Fine @Elegoo CC2 0.4 nozzle", "inherits": "0.20mm Standard @Elegoo CC2 0.4 nozzle", - "instantiation": "true", "layer_height": "0.12", - "wall_loops": "3" + "name": "0.12mm Fine @Elegoo CC2 0.4 nozzle", + "wall_loops": "3", + "instantiation": "true" } \ No newline at end of file diff --git a/resources/profiles/Elegoo/process/ECC2/0.14mm Extra Draft @Elegoo CC2 0.2 nozzle.json b/resources/profiles/Elegoo/process/ECC2/0.14mm Extra Draft @Elegoo CC2 0.2 nozzle.json index ed348fcc446..34cc7620e70 100644 --- a/resources/profiles/Elegoo/process/ECC2/0.14mm Extra Draft @Elegoo CC2 0.2 nozzle.json +++ b/resources/profiles/Elegoo/process/ECC2/0.14mm Extra Draft @Elegoo CC2 0.2 nozzle.json @@ -1,7 +1,6 @@ { - "type": "process", - "name": "0.14mm Extra Draft @Elegoo CC2 0.2 nozzle", "inherits": "0.10mm Standard @Elegoo CC2 0.2 nozzle", - "instantiation": "true", - "layer_height": "0.14" + "layer_height": "0.14", + "name": "0.14mm Extra Draft @Elegoo CC2 0.2 nozzle", + "instantiation": "true" } \ No newline at end of file diff --git a/resources/profiles/Elegoo/process/ECC2/0.16mm Extra Fine @Elegoo CC2 0.8 nozzle.json b/resources/profiles/Elegoo/process/ECC2/0.16mm Extra Fine @Elegoo CC2 0.8 nozzle.json index e64b1b8f9b0..1584e486193 100644 --- a/resources/profiles/Elegoo/process/ECC2/0.16mm Extra Fine @Elegoo CC2 0.8 nozzle.json +++ b/resources/profiles/Elegoo/process/ECC2/0.16mm Extra Fine @Elegoo CC2 0.8 nozzle.json @@ -1,8 +1,7 @@ { - "type": "process", - "name": "0.16mm Extra Fine @Elegoo CC2 0.8 nozzle", "inherits": "0.40mm Standard @Elegoo CC2 0.8 nozzle", - "instantiation": "true", "initial_layer_print_height": "0.3", - "layer_height": "0.16" + "layer_height": "0.16", + "name": "0.16mm Extra Fine @Elegoo CC2 0.8 nozzle", + "instantiation": "true" } \ No newline at end of file diff --git a/resources/profiles/Elegoo/process/ECC2/0.16mm Optimal @Elegoo CC2 0.4 nozzle.json b/resources/profiles/Elegoo/process/ECC2/0.16mm Optimal @Elegoo CC2 0.4 nozzle.json index 93191a166a2..1801dd905f2 100644 --- a/resources/profiles/Elegoo/process/ECC2/0.16mm Optimal @Elegoo CC2 0.4 nozzle.json +++ b/resources/profiles/Elegoo/process/ECC2/0.16mm Optimal @Elegoo CC2 0.4 nozzle.json @@ -1,7 +1,6 @@ { - "type": "process", - "name": "0.16mm Optimal @Elegoo CC2 0.4 nozzle", "inherits": "0.20mm Standard @Elegoo CC2 0.4 nozzle", - "instantiation": "true", - "layer_height": "0.16" + "layer_height": "0.16", + "name": "0.16mm Optimal @Elegoo CC2 0.4 nozzle", + "instantiation": "true" } \ No newline at end of file diff --git a/resources/profiles/Elegoo/process/ECC2/0.18mm Fine @Elegoo CC2 0.6 nozzle.json b/resources/profiles/Elegoo/process/ECC2/0.18mm Fine @Elegoo CC2 0.6 nozzle.json index b3e535c3cb1..c95d7407f26 100644 --- a/resources/profiles/Elegoo/process/ECC2/0.18mm Fine @Elegoo CC2 0.6 nozzle.json +++ b/resources/profiles/Elegoo/process/ECC2/0.18mm Fine @Elegoo CC2 0.6 nozzle.json @@ -1,7 +1,6 @@ { - "type": "process", - "name": "0.18mm Fine @Elegoo CC2 0.6 nozzle", "inherits": "0.30mm Standard @Elegoo CC2 0.6 nozzle", - "instantiation": "true", - "layer_height": "0.18" + "layer_height": "0.18", + "name": "0.18mm Fine @Elegoo CC2 0.6 nozzle", + "instantiation": "true" } \ No newline at end of file diff --git a/resources/profiles/Elegoo/process/ECC2/0.20mm Standard @Elegoo CC2 0.4 nozzle.json b/resources/profiles/Elegoo/process/ECC2/0.20mm Standard @Elegoo CC2 0.4 nozzle.json index 2bf76ed2497..72308485cb2 100644 --- a/resources/profiles/Elegoo/process/ECC2/0.20mm Standard @Elegoo CC2 0.4 nozzle.json +++ b/resources/profiles/Elegoo/process/ECC2/0.20mm Standard @Elegoo CC2 0.4 nozzle.json @@ -2,13 +2,13 @@ { "type": "process", "name": "0.20mm Standard @Elegoo CC2 0.4 nozzle", - "inherits": "fdm_process_ecc_04020", + "inherits": "fdm_process_elegoo_04020", "from": "system", "setting_id": "PECC204020", "instantiation": "true", "bottom_shell_layers": "3", "bottom_shell_thickness": "0.6", - "filename_format": "ECC2_{nozzle_diameter[0]}_{input_filename_base}_{filament_type[0]}{layer_height}_{print_time}.gcode", + "filename_format": "ECC2_{nozzle_diameter[0]}_{input_filename_base}_{filament_name}_{layer_height}_{print_time}.gcode", "min_width_top_surface": "50%", "enable_prime_tower": "1", "compatible_printers": [ @@ -17,7 +17,6 @@ "enable_arc_fitting": "0", "exclude_object": "0", "independent_support_layer_height": "0", - "infill_anchor": "1000", "initial_layer_acceleration": "2000", "outer_wall_speed": "200", "skirt_height": "4", @@ -30,5 +29,6 @@ "top_surface_acceleration": "5000", "tree_support_branch_distance_organic": "2", "tree_support_tip_diameter": "0.8", - "wall_sequence": "inner-outer-inner wall" + "wall_sequence": "inner wall/outer wall", + "reduce_infill_retraction": "0" } diff --git a/resources/profiles/Elegoo/process/ECC2/0.20mm Strength @Elegoo CC2 0.4 nozzle.json b/resources/profiles/Elegoo/process/ECC2/0.20mm Strength @Elegoo CC2 0.4 nozzle.json index d6d4c5cdc8f..cbd512b1603 100644 --- a/resources/profiles/Elegoo/process/ECC2/0.20mm Strength @Elegoo CC2 0.4 nozzle.json +++ b/resources/profiles/Elegoo/process/ECC2/0.20mm Strength @Elegoo CC2 0.4 nozzle.json @@ -1,8 +1,6 @@ { - "type": "process", - "name": "0.20mm Strength @Elegoo CC2 0.4 nozzle", "inherits": "0.20mm Standard @Elegoo CC2 0.4 nozzle", - "instantiation": "true", + "name": "0.20mm Strength @Elegoo CC2 0.4 nozzle", "wall_sequence": "inner-outer-inner wall", "reduce_crossing_wall": "1", "bottom_shell_layers": "5", @@ -10,5 +8,6 @@ "print_flow_ratio": "0.95", "sparse_infill_density": "20%", "top_shell_layers": "6", - "wall_loops": "6" + "wall_loops": "6", + "instantiation": "true" } \ No newline at end of file diff --git a/resources/profiles/Elegoo/process/ECC2/0.24mm Draft @Elegoo CC2 0.4 nozzle.json b/resources/profiles/Elegoo/process/ECC2/0.24mm Draft @Elegoo CC2 0.4 nozzle.json index 8c6a8a435e4..e183cfdd7da 100644 --- a/resources/profiles/Elegoo/process/ECC2/0.24mm Draft @Elegoo CC2 0.4 nozzle.json +++ b/resources/profiles/Elegoo/process/ECC2/0.24mm Draft @Elegoo CC2 0.4 nozzle.json @@ -1,7 +1,6 @@ { - "type": "process", - "name": "0.24mm Draft @Elegoo CC2 0.4 nozzle", "inherits": "0.20mm Standard @Elegoo CC2 0.4 nozzle", - "instantiation": "true", - "layer_height": "0.24" + "layer_height": "0.24", + "name": "0.24mm Draft @Elegoo CC2 0.4 nozzle", + "instantiation": "true" } \ No newline at end of file diff --git a/resources/profiles/Elegoo/process/ECC2/0.24mm Fine @Elegoo CC2 0.8 nozzle.json b/resources/profiles/Elegoo/process/ECC2/0.24mm Fine @Elegoo CC2 0.8 nozzle.json index ab937e7c868..904f0f873cc 100644 --- a/resources/profiles/Elegoo/process/ECC2/0.24mm Fine @Elegoo CC2 0.8 nozzle.json +++ b/resources/profiles/Elegoo/process/ECC2/0.24mm Fine @Elegoo CC2 0.8 nozzle.json @@ -1,8 +1,7 @@ { - "type": "process", - "name": "0.24mm Fine @Elegoo CC2 0.8 nozzle", "inherits": "0.40mm Standard @Elegoo CC2 0.8 nozzle", - "instantiation": "true", "initial_layer_print_height": "0.3", - "layer_height": "0.24" + "layer_height": "0.24", + "name": "0.24mm Fine @Elegoo CC2 0.8 nozzle", + "instantiation": "true" } \ No newline at end of file diff --git a/resources/profiles/Elegoo/process/ECC2/0.24mm Optimal @Elegoo CC2 0.6 nozzle.json b/resources/profiles/Elegoo/process/ECC2/0.24mm Optimal @Elegoo CC2 0.6 nozzle.json index 524599aeb32..db40469776f 100644 --- a/resources/profiles/Elegoo/process/ECC2/0.24mm Optimal @Elegoo CC2 0.6 nozzle.json +++ b/resources/profiles/Elegoo/process/ECC2/0.24mm Optimal @Elegoo CC2 0.6 nozzle.json @@ -1,7 +1,6 @@ { - "type": "process", - "name": "0.24mm Optimal @Elegoo CC2 0.6 nozzle", "inherits": "0.30mm Standard @Elegoo CC2 0.6 nozzle", - "instantiation": "true", - "layer_height": "0.24" + "layer_height": "0.24", + "name": "0.24mm Optimal @Elegoo CC2 0.6 nozzle", + "instantiation": "true" } \ No newline at end of file diff --git a/resources/profiles/Elegoo/process/ECC2/0.28mm Extra Draft @Elegoo CC2 0.4 nozzle.json b/resources/profiles/Elegoo/process/ECC2/0.28mm Extra Draft @Elegoo CC2 0.4 nozzle.json index 655f64b3909..963511cb262 100644 --- a/resources/profiles/Elegoo/process/ECC2/0.28mm Extra Draft @Elegoo CC2 0.4 nozzle.json +++ b/resources/profiles/Elegoo/process/ECC2/0.28mm Extra Draft @Elegoo CC2 0.4 nozzle.json @@ -1,7 +1,6 @@ { - "type": "process", - "name": "0.28mm Extra Draft @Elegoo CC2 0.4 nozzle", "inherits": "0.20mm Standard @Elegoo CC2 0.4 nozzle", - "instantiation": "true", - "layer_height": "0.28" + "layer_height": "0.28", + "name": "0.28mm Extra Draft @Elegoo CC2 0.4 nozzle", + "instantiation": "true" } \ No newline at end of file diff --git a/resources/profiles/Elegoo/process/ECC2/0.30mm Standard @Elegoo CC2 0.6 nozzle.json b/resources/profiles/Elegoo/process/ECC2/0.30mm Standard @Elegoo CC2 0.6 nozzle.json index a4257544a88..da48ea859a5 100644 --- a/resources/profiles/Elegoo/process/ECC2/0.30mm Standard @Elegoo CC2 0.6 nozzle.json +++ b/resources/profiles/Elegoo/process/ECC2/0.30mm Standard @Elegoo CC2 0.6 nozzle.json @@ -2,15 +2,16 @@ { "type": "process", "name": "0.30mm Standard @Elegoo CC2 0.6 nozzle", - "inherits": "fdm_process_ecc_06030", + "inherits": "fdm_process_elegoo_06030", "from": "system", "setting_id": "PECC206030", "instantiation": "true", "sparse_infill_pattern": "zig-zag", - "filename_format": "ECC2_{nozzle_diameter[0]}_{input_filename_base}_{filament_type[0]}{layer_height}_{print_time}.gcode", + "filename_format": "ECC2_{nozzle_diameter[0]}_{input_filename_base}_{filament_name}_{layer_height}_{print_time}.gcode", "min_width_top_surface": "50%", "enable_prime_tower": "1", "compatible_printers": [ "Elegoo Centauri Carbon 2 0.6 nozzle" - ] + ], + "reduce_infill_retraction": "0" } diff --git a/resources/profiles/Elegoo/process/ECC2/0.30mm Strength @Elegoo CC2 0.6 nozzle.json b/resources/profiles/Elegoo/process/ECC2/0.30mm Strength @Elegoo CC2 0.6 nozzle.json index 252b439e523..221dfa023ae 100644 --- a/resources/profiles/Elegoo/process/ECC2/0.30mm Strength @Elegoo CC2 0.6 nozzle.json +++ b/resources/profiles/Elegoo/process/ECC2/0.30mm Strength @Elegoo CC2 0.6 nozzle.json @@ -1,13 +1,12 @@ { - "type": "process", - "name": "0.30mm Strength @Elegoo CC2 0.6 nozzle", "inherits": "0.30mm Standard @Elegoo CC2 0.6 nozzle", - "instantiation": "true", "inner_wall_speed": "120", + "name": "0.30mm Strength @Elegoo CC2 0.6 nozzle", "wall_sequence": "inner-outer-inner wall", "reduce_crossing_wall": "1", "outer_wall_speed": "80", "sparse_infill_density": "15%", "top_surface_speed": "120", - "wall_loops": "4" + "wall_loops": "4", + "instantiation": "true" } \ No newline at end of file diff --git a/resources/profiles/Elegoo/process/ECC2/0.32mm Optimal @Elegoo CC2 0.8 nozzle.json b/resources/profiles/Elegoo/process/ECC2/0.32mm Optimal @Elegoo CC2 0.8 nozzle.json index 058c9d6bee4..a29aa2e271e 100644 --- a/resources/profiles/Elegoo/process/ECC2/0.32mm Optimal @Elegoo CC2 0.8 nozzle.json +++ b/resources/profiles/Elegoo/process/ECC2/0.32mm Optimal @Elegoo CC2 0.8 nozzle.json @@ -1,7 +1,6 @@ { - "type": "process", - "name": "0.32mm Optimal @Elegoo CC2 0.8 nozzle", "inherits": "0.40mm Standard @Elegoo CC2 0.8 nozzle", - "instantiation": "true", - "layer_height": "0.32" + "layer_height": "0.32", + "name": "0.32mm Optimal @Elegoo CC2 0.8 nozzle", + "instantiation": "true" } \ No newline at end of file diff --git a/resources/profiles/Elegoo/process/ECC2/0.36mm Draft @Elegoo CC2 0.6 nozzle.json b/resources/profiles/Elegoo/process/ECC2/0.36mm Draft @Elegoo CC2 0.6 nozzle.json index 40dfda4432e..ef50c6d4fc9 100644 --- a/resources/profiles/Elegoo/process/ECC2/0.36mm Draft @Elegoo CC2 0.6 nozzle.json +++ b/resources/profiles/Elegoo/process/ECC2/0.36mm Draft @Elegoo CC2 0.6 nozzle.json @@ -1,7 +1,6 @@ { - "type": "process", - "name": "0.36mm Draft @Elegoo CC2 0.6 nozzle", "inherits": "0.30mm Standard @Elegoo CC2 0.6 nozzle", - "instantiation": "true", - "layer_height": "0.36" + "layer_height": "0.36", + "name": "0.36mm Draft @Elegoo CC2 0.6 nozzle", + "instantiation": "true" } \ No newline at end of file diff --git a/resources/profiles/Elegoo/process/ECC2/0.40mm Standard @Elegoo CC2 0.8 nozzle.json b/resources/profiles/Elegoo/process/ECC2/0.40mm Standard @Elegoo CC2 0.8 nozzle.json index d30d68e0ea1..5b03f8bfd40 100644 --- a/resources/profiles/Elegoo/process/ECC2/0.40mm Standard @Elegoo CC2 0.8 nozzle.json +++ b/resources/profiles/Elegoo/process/ECC2/0.40mm Standard @Elegoo CC2 0.8 nozzle.json @@ -2,15 +2,16 @@ { "type": "process", "name": "0.40mm Standard @Elegoo CC2 0.8 nozzle", - "inherits": "fdm_process_ecc_08040", + "inherits": "fdm_process_elegoo_08040", "from": "system", "setting_id": "PECC208040", "instantiation": "true", "sparse_infill_pattern": "zig-zag", - "filename_format": "ECC2_{nozzle_diameter[0]}_{input_filename_base}_{filament_type[0]}{layer_height}_{print_time}.gcode", + "filename_format": "ECC2_{nozzle_diameter[0]}_{input_filename_base}_{filament_name}_{layer_height}_{print_time}.gcode", "min_width_top_surface": "50%", "enable_prime_tower": "1", "compatible_printers": [ "Elegoo Centauri Carbon 2 0.8 nozzle" - ] + ], + "reduce_infill_retraction": "0" } diff --git a/resources/profiles/Elegoo/process/ECC2/0.42mm Extra Draft @Elegoo CC2 0.6 nozzle.json b/resources/profiles/Elegoo/process/ECC2/0.42mm Extra Draft @Elegoo CC2 0.6 nozzle.json index 0b4d71378c9..3db6a6eddb0 100644 --- a/resources/profiles/Elegoo/process/ECC2/0.42mm Extra Draft @Elegoo CC2 0.6 nozzle.json +++ b/resources/profiles/Elegoo/process/ECC2/0.42mm Extra Draft @Elegoo CC2 0.6 nozzle.json @@ -1,7 +1,6 @@ { - "type": "process", - "name": "0.42mm Extra Draft @Elegoo CC2 0.6 nozzle", "inherits": "0.30mm Standard @Elegoo CC2 0.6 nozzle", - "instantiation": "true", - "layer_height": "0.42" + "layer_height": "0.42", + "name": "0.42mm Extra Draft @Elegoo CC2 0.6 nozzle", + "instantiation": "true" } \ No newline at end of file diff --git a/resources/profiles/Elegoo/process/ECC2/0.48mm Draft @Elegoo CC2 0.8 nozzle.json b/resources/profiles/Elegoo/process/ECC2/0.48mm Draft @Elegoo CC2 0.8 nozzle.json index eadca9a60ad..5ee2988155b 100644 --- a/resources/profiles/Elegoo/process/ECC2/0.48mm Draft @Elegoo CC2 0.8 nozzle.json +++ b/resources/profiles/Elegoo/process/ECC2/0.48mm Draft @Elegoo CC2 0.8 nozzle.json @@ -1,7 +1,6 @@ { - "type": "process", - "name": "0.48mm Draft @Elegoo CC2 0.8 nozzle", "inherits": "0.40mm Standard @Elegoo CC2 0.8 nozzle", - "instantiation": "true", - "layer_height": "0.48" + "layer_height": "0.48", + "name": "0.48mm Draft @Elegoo CC2 0.8 nozzle", + "instantiation": "true" } \ No newline at end of file diff --git a/resources/profiles/Elegoo/process/fdm_process_elegoo_02010.json b/resources/profiles/Elegoo/process/fdm_process_elegoo_02010.json new file mode 100644 index 00000000000..cef423edcdb --- /dev/null +++ b/resources/profiles/Elegoo/process/fdm_process_elegoo_02010.json @@ -0,0 +1,30 @@ +{ + "type": "process", + "name": "fdm_process_elegoo_02010", + "inherits": "fdm_process_elegoo_common", + "from": "system", + "instantiation": "false", + "layer_height": "0.1", + "initial_layer_print_height": "0.15", + "elefant_foot_compensation": "0.05", + "wall_loops": "4", + "bottom_shell_layers": "5", + "top_shell_layers": "7", + "bridge_flow": "1", + "line_width": "0.22", + "outer_wall_line_width": "0.22", + "initial_layer_line_width": "0.3", + "sparse_infill_line_width": "0.25", + "inner_wall_line_width": "0.22", + "internal_solid_infill_line_width": "0.22", + "support_line_width": "0.22", + "top_surface_line_width": "0.22", + "initial_layer_speed": "35", + "initial_layer_infill_speed": "60", + "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" +} diff --git a/resources/profiles/Volumic.json b/resources/profiles/Volumic.json index ad1f7b494f9..839d81e4fb7 100644 --- a/resources/profiles/Volumic.json +++ b/resources/profiles/Volumic.json @@ -1,606 +1,194 @@ { "name": "Volumic", - "version": "02.03.02.51", + "version": "02.03.02.55", "force_update": "1", "description": "VOLUMIC configurations", "machine_model_list": [ - { - "name": "EXO42", - "sub_path": "machine/EXO42.json" - }, - { - "name": "EXO42 IDRE", - "sub_path": "machine/EXO42 IDRE.json" - }, - { - "name": "EXO42 Performance", - "sub_path": "machine/EXO42 Performance.json" - }, - { - "name": "EXO42 Stage 2", - "sub_path": "machine/EXO42 Stage 2.json" - }, - { - "name": "EXO65", - "sub_path": "machine/EXO65.json" - }, - { - "name": "EXO65 IDRE", - "sub_path": "machine/EXO65 IDRE.json" - }, - { - "name": "EXO65 Performance", - "sub_path": "machine/EXO65 Performance.json" - }, - { - "name": "EXO65 Stage 2", - "sub_path": "machine/EXO65 Stage 2.json" - }, - { - "name": "SH65", - "sub_path": "machine/SH65.json" - }, - { - "name": "SH65 IDRE", - "sub_path": "machine/SH65 IDRE.json" - }, - { - "name": "SH65 Performance", - "sub_path": "machine/SH65 Performance.json" - }, - { - "name": "SH65 Stage 2", - "sub_path": "machine/SH65 Stage 2.json" - }, - { - "name": "VS20MK2", - "sub_path": "machine/VS20MK2.json" - }, - { - "name": "VS30MK2", - "sub_path": "machine/VS30MK2.json" - }, - { - "name": "VS30MK3", - "sub_path": "machine/VS30MK3.json" - }, - { - "name": "VS30MK3 Stage 2", - "sub_path": "machine/VS30MK3 Stage 2.json" - }, - { - "name": "VS30SC", - "sub_path": "machine/VS30SC.json" - }, - { - "name": "VS30SC2", - "sub_path": "machine/VS30SC2.json" - }, - { - "name": "VS30SC2 Stage 2", - "sub_path": "machine/VS30SC2 Stage 2.json" - }, - { - "name": "VS30ULTRA", - "sub_path": "machine/VS30ULTRA.json" - } + {"name": "EXO42 Performance","sub_path": "machine/EXO42 Performance.json"}, + {"name": "EXO42 IDRE","sub_path": "machine/EXO42 IDRE.json"}, + {"name": "EXO42","sub_path": "machine/EXO42.json"}, + {"name": "EXO42 Stage 2","sub_path": "machine/EXO42 Stage 2.json"}, + {"name": "EXO65 Performance","sub_path": "machine/EXO65 Performance.json"}, + {"name": "EXO65 IDRE","sub_path": "machine/EXO65 IDRE.json"}, + {"name": "EXO65","sub_path": "machine/EXO65.json"}, + {"name": "EXO65 Stage 2","sub_path": "machine/EXO65 Stage 2.json"}, + {"name": "SH65 Performance","sub_path": "machine/SH65 Performance.json"}, + {"name": "SH65 IDRE","sub_path": "machine/SH65 IDRE.json"}, + {"name": "SH65","sub_path": "machine/SH65.json"}, + {"name": "SH65 Stage 2","sub_path": "machine/SH65 Stage 2.json"}, + {"name": "VS30SC2 Performance","sub_path": "machine/VS30SC2 Performance.json"}, + {"name": "VS30SC2","sub_path": "machine/VS30SC2.json"}, + {"name": "VS30SC2 Stage 2","sub_path": "machine/VS30SC2 Stage 2.json"}, + {"name": "VS30SC","sub_path": "machine/VS30SC.json"}, + {"name": "VS30ULTRA","sub_path": "machine/VS30ULTRA.json"}, + {"name": "VS30MK3","sub_path": "machine/VS30MK3.json"}, + {"name": "VS30MK3 Stage 2","sub_path": "machine/VS30MK3 Stage 2.json"}, + {"name": "VS30MK2","sub_path": "machine/VS30MK2.json"}, + {"name": "VS20MK2","sub_path": "machine/VS20MK2.json"} ], "machine_list": [ - { - "name": "fdm_volumic_common", - "sub_path": "machine/fdm_volumic_common.json" - }, - { - "name": "EXO42 (0.4 nozzle)", - "sub_path": "machine/EXO42 (0.4 nozzle).json" - }, - { - "name": "EXO42 IDRE (0.4 nozzle)", - "sub_path": "machine/EXO42 IDRE (0.4 nozzle).json" - }, - { - "name": "EXO42 IDRE COPY MODE (0.4 nozzle)", - "sub_path": "machine/EXO42 IDRE COPY MODE (0.4 nozzle).json" - }, - { - "name": "EXO42 IDRE MIRROR MODE (0.4 nozzle)", - "sub_path": "machine/EXO42 IDRE MIRROR MODE (0.4 nozzle).json" - }, - { - "name": "EXO42 Performance (0.4 nozzle)", - "sub_path": "machine/EXO42 Performance (0.4 nozzle).json" - }, - { - "name": "EXO42 Stage 2 (0.4 nozzle)", - "sub_path": "machine/EXO42 Stage 2 (0.4 nozzle).json" - }, - { - "name": "EXO65 (0.6 nozzle)", - "sub_path": "machine/EXO65 (0.6 nozzle).json" - }, - { - "name": "EXO65 IDRE (0.4 nozzle)", - "sub_path": "machine/EXO65 IDRE (0.4 nozzle).json" - }, - { - "name": "EXO65 IDRE COPY MODE (0.4 nozzle)", - "sub_path": "machine/EXO65 IDRE COPY MODE (0.4 nozzle).json" - }, - { - "name": "EXO65 IDRE MIRROR MODE (0.4 nozzle)", - "sub_path": "machine/EXO65 IDRE MIRROR MODE (0.4 nozzle).json" - }, - { - "name": "EXO65 Performance (0.4 nozzle)", - "sub_path": "machine/EXO65 Performance (0.4 nozzle).json" - }, - { - "name": "EXO65 Performance (0.6 nozzle)", - "sub_path": "machine/EXO65 Performance (0.6 nozzle).json" - }, - { - "name": "EXO65 Performance (0.8 nozzle)", - "sub_path": "machine/EXO65 Performance (0.8 nozzle).json" - }, - { - "name": "EXO65 Stage 2 (0.6 nozzle)", - "sub_path": "machine/EXO65 Stage 2 (0.6 nozzle).json" - }, - { - "name": "SH65 (0.4 nozzle)", - "sub_path": "machine/SH65 (0.4 nozzle).json" - }, - { - "name": "SH65 IDRE (0.4 nozzle)", - "sub_path": "machine/SH65 IDRE (0.4 nozzle).json" - }, - { - "name": "SH65 IDRE COPY MODE (0.4 nozzle)", - "sub_path": "machine/SH65 IDRE COPY MODE (0.4 nozzle).json" - }, - { - "name": "SH65 IDRE MIRROR MODE (0.4 nozzle)", - "sub_path": "machine/SH65 IDRE MIRROR MODE (0.4 nozzle).json" - }, - { - "name": "SH65 Performance (0.4 nozzle)", - "sub_path": "machine/SH65 Performance (0.4 nozzle).json" - }, - { - "name": "SH65 Stage 2 (0.4 nozzle)", - "sub_path": "machine/SH65 Stage 2 (0.4 nozzle).json" - }, - { - "name": "VS20MK2 (0.4 nozzle)", - "sub_path": "machine/VS20MK2 (0.4 nozzle).json" - }, - { - "name": "VS30MK2 (0.4 nozzle)", - "sub_path": "machine/VS30MK2 (0.4 nozzle).json" - }, - { - "name": "VS30MK3 (0.4 nozzle)", - "sub_path": "machine/VS30MK3 (0.4 nozzle).json" - }, - { - "name": "VS30MK3 Stage 2 (0.4 nozzle)", - "sub_path": "machine/VS30MK3 Stage 2 (0.4 nozzle).json" - }, - { - "name": "VS30SC (0.4 nozzle)", - "sub_path": "machine/VS30SC (0.4 nozzle).json" - }, - { - "name": "VS30SC2 (0.4 nozzle)", - "sub_path": "machine/VS30SC2 (0.4 nozzle).json" - }, - { - "name": "VS30SC2 Stage 2 (0.4 nozzle)", - "sub_path": "machine/VS30SC2 Stage 2 (0.4 nozzle).json" - }, - { - "name": "VS30ULTRA (0.4 nozzle)", - "sub_path": "machine/VS30ULTRA (0.4 nozzle).json" - } + {"name": "fdm_volumic_common","sub_path": "machine/fdm_volumic_common.json"}, + {"name": "EXO42 Performance (0.4 nozzle)","sub_path": "machine/EXO42 Performance (0.4 nozzle).json"}, + {"name": "EXO65 Performance (0.4 nozzle)","sub_path": "machine/EXO65 Performance (0.4 nozzle).json"}, + {"name": "EXO65 Performance (0.6 nozzle)","sub_path": "machine/EXO65 Performance (0.6 nozzle).json"}, + {"name": "EXO65 Performance (0.8 nozzle)","sub_path": "machine/EXO65 Performance (0.8 nozzle).json"}, + {"name": "SH65 Performance (0.4 nozzle)","sub_path": "machine/SH65 Performance (0.4 nozzle).json"}, + {"name": "EXO42 IDRE (0.4 nozzle)","sub_path": "machine/EXO42 IDRE (0.4 nozzle).json"}, + {"name": "EXO42 IDRE COPY MODE (0.4 nozzle)","sub_path": "machine/EXO42 IDRE COPY MODE (0.4 nozzle).json"}, + {"name": "EXO42 IDRE MIRROR MODE (0.4 nozzle)","sub_path": "machine/EXO42 IDRE MIRROR MODE (0.4 nozzle).json"}, + {"name": "EXO65 IDRE (0.4 nozzle)","sub_path": "machine/EXO65 IDRE (0.4 nozzle).json"}, + {"name": "EXO65 IDRE COPY MODE (0.4 nozzle)","sub_path": "machine/EXO65 IDRE COPY MODE (0.4 nozzle).json"}, + {"name": "EXO65 IDRE MIRROR MODE (0.4 nozzle)","sub_path": "machine/EXO65 IDRE MIRROR MODE (0.4 nozzle).json"}, + {"name": "SH65 IDRE (0.4 nozzle)","sub_path": "machine/SH65 IDRE (0.4 nozzle).json"}, + {"name": "SH65 IDRE COPY MODE (0.4 nozzle)","sub_path": "machine/SH65 IDRE COPY MODE (0.4 nozzle).json"}, + {"name": "SH65 IDRE MIRROR MODE (0.4 nozzle)","sub_path": "machine/SH65 IDRE MIRROR MODE (0.4 nozzle).json"}, + {"name": "EXO42 (0.4 nozzle)","sub_path": "machine/EXO42 (0.4 nozzle).json"}, + {"name": "EXO65 (0.6 nozzle)","sub_path": "machine/EXO65 (0.6 nozzle).json"}, + {"name": "SH65 (0.4 nozzle)","sub_path": "machine/SH65 (0.4 nozzle).json"}, + {"name": "VS30SC2 Performance (0.4 nozzle)","sub_path": "machine/VS30SC2 Performance (0.4 nozzle).json"}, + {"name": "VS30SC2 (0.4 nozzle)","sub_path": "machine/VS30SC2 (0.4 nozzle).json"}, + {"name": "VS30SC2 Stage 2 (0.4 nozzle)","sub_path": "machine/VS30SC2 Stage 2 (0.4 nozzle).json"}, + {"name": "VS30SC (0.4 nozzle)","sub_path": "machine/VS30SC (0.4 nozzle).json"}, + {"name": "VS30ULTRA (0.4 nozzle)","sub_path": "machine/VS30ULTRA (0.4 nozzle).json"}, + {"name": "VS30MK3 (0.4 nozzle)","sub_path": "machine/VS30MK3 (0.4 nozzle).json"}, + {"name": "VS30MK2 (0.4 nozzle)","sub_path": "machine/VS30MK2 (0.4 nozzle).json"}, + {"name": "VS20MK2 (0.4 nozzle)","sub_path": "machine/VS20MK2 (0.4 nozzle).json"}, + {"name": "EXO42 Stage 2 (0.4 nozzle)","sub_path": "machine/EXO42 Stage 2 (0.4 nozzle).json"}, + {"name": "EXO65 Stage 2 (0.6 nozzle)","sub_path": "machine/EXO65 Stage 2 (0.6 nozzle).json"}, + {"name": "SH65 Stage 2 (0.4 nozzle)","sub_path": "machine/SH65 Stage 2 (0.4 nozzle).json"}, + {"name": "VS30MK3 Stage 2 (0.4 nozzle)","sub_path": "machine/VS30MK3 Stage 2 (0.4 nozzle).json"} + ], "process_list": [ - { - "name": "fdm_process_volumic_common", - "sub_path": "process/fdm_process_volumic_common.json" - }, - { - "name": "Compatible speed - 0.10mm", - "sub_path": "process/Compatible speed - 0.10mm.json" - }, - { - "name": "Compatible speed - 0.15mm", - "sub_path": "process/Compatible speed - 0.15mm.json" - }, - { - "name": "Compatible speed - 0.20mm", - "sub_path": "process/Compatible speed - 0.20mm.json" - }, - { - "name": "Compatible speed - 0.25mm", - "sub_path": "process/Compatible speed - 0.25mm.json" - }, - { - "name": "Compatible speed - 0.30mm", - "sub_path": "process/Compatible speed - 0.30mm.json" - }, - { - "name": "Full performance - 0.10mm", - "sub_path": "process/Full performance - 0.10mm.json" - }, - { - "name": "Full performance - 0.15mm", - "sub_path": "process/Full performance - 0.15mm.json" - }, - { - "name": "Full performance - 0.20mm", - "sub_path": "process/Full performance - 0.20mm.json" - }, - { - "name": "Full performance - 0.25mm", - "sub_path": "process/Full performance - 0.25mm.json" - }, - { - "name": "Full performance - 0.30mm", - "sub_path": "process/Full performance - 0.30mm.json" - }, - { - "name": "Full performance DUAL - 0.10mm", - "sub_path": "process/Full performance DUAL - 0.10mm.json" - }, - { - "name": "Full performance DUAL - 0.15mm", - "sub_path": "process/Full performance DUAL - 0.15mm.json" - }, - { - "name": "Full performance DUAL - 0.20mm", - "sub_path": "process/Full performance DUAL - 0.20mm.json" - }, - { - "name": "Full performance DUAL - 0.25mm", - "sub_path": "process/Full performance DUAL - 0.25mm.json" - }, - { - "name": "Full performance DUAL - 0.30mm", - "sub_path": "process/Full performance DUAL - 0.30mm.json" - }, - { - "name": "High performance - 0.10mm", - "sub_path": "process/High performance - 0.10mm.json" - }, - { - "name": "High performance - 0.15mm", - "sub_path": "process/High performance - 0.15mm.json" - }, - { - "name": "High performance - 0.20mm", - "sub_path": "process/High performance - 0.20mm.json" - }, - { - "name": "High performance - 0.25mm", - "sub_path": "process/High performance - 0.25mm.json" - }, - { - "name": "High performance - 0.30mm", - "sub_path": "process/High performance - 0.30mm.json" - }, - { - "name": "High performance DUAL - 0.10mm", - "sub_path": "process/High performance DUAL - 0.10mm.json" - }, - { - "name": "High performance DUAL - 0.15mm", - "sub_path": "process/High performance DUAL - 0.15mm.json" - }, - { - "name": "High performance DUAL - 0.20mm", - "sub_path": "process/High performance DUAL - 0.20mm.json" - }, - { - "name": "High performance DUAL - 0.25mm", - "sub_path": "process/High performance DUAL - 0.25mm.json" - }, - { - "name": "High performance DUAL - 0.30mm", - "sub_path": "process/High performance DUAL - 0.30mm.json" - }, - { - "name": "High speed (Stage 2) - 0.10mm", - "sub_path": "process/High speed (Stage 2) - 0.10mm.json" - }, - { - "name": "High speed (Stage 2) - 0.15mm", - "sub_path": "process/High speed (Stage 2) - 0.15mm.json" - }, - { - "name": "High speed (Stage 2) - 0.20mm", - "sub_path": "process/High speed (Stage 2) - 0.20mm.json" - }, - { - "name": "High speed (Stage 2) - 0.25mm", - "sub_path": "process/High speed (Stage 2) - 0.25mm.json" - }, - { - "name": "High speed (Stage 2) - 0.30mm", - "sub_path": "process/High speed (Stage 2) - 0.30mm.json" - }, - { - "name": "High speed - 0.10mm", - "sub_path": "process/High speed - 0.10mm.json" - }, - { - "name": "High speed - 0.15mm", - "sub_path": "process/High speed - 0.15mm.json" - }, - { - "name": "High speed - 0.20mm", - "sub_path": "process/High speed - 0.20mm.json" - }, - { - "name": "High speed - 0.25mm", - "sub_path": "process/High speed - 0.25mm.json" - }, - { - "name": "High speed - 0.30mm", - "sub_path": "process/High speed - 0.30mm.json" - }, - { - "name": "Normal performance - 0.10mm", - "sub_path": "process/Normal performance - 0.10mm.json" - }, - { - "name": "Normal performance - 0.15mm", - "sub_path": "process/Normal performance - 0.15mm.json" - }, - { - "name": "Normal performance - 0.20mm", - "sub_path": "process/Normal performance - 0.20mm.json" - }, - { - "name": "Normal performance - 0.25mm", - "sub_path": "process/Normal performance - 0.25mm.json" - }, - { - "name": "Normal performance - 0.30mm", - "sub_path": "process/Normal performance - 0.30mm.json" - }, - { - "name": "Normal performance DUAL - 0.10mm", - "sub_path": "process/Normal performance DUAL - 0.10mm.json" - }, - { - "name": "Normal performance DUAL - 0.15mm", - "sub_path": "process/Normal performance DUAL - 0.15mm.json" - }, - { - "name": "Normal performance DUAL - 0.20mm", - "sub_path": "process/Normal performance DUAL - 0.20mm.json" - }, - { - "name": "Normal performance DUAL - 0.25mm", - "sub_path": "process/Normal performance DUAL - 0.25mm.json" - }, - { - "name": "Normal performance DUAL - 0.30mm", - "sub_path": "process/Normal performance DUAL - 0.30mm.json" - }, - { - "name": "Normal speed (Stage 2) - 0.10mm", - "sub_path": "process/Normal speed (Stage 2) - 0.10mm.json" - }, - { - "name": "Normal speed (Stage 2) - 0.15mm", - "sub_path": "process/Normal speed (Stage 2) - 0.15mm.json" - }, - { - "name": "Normal speed (Stage 2) - 0.20mm", - "sub_path": "process/Normal speed (Stage 2) - 0.20mm.json" - }, - { - "name": "Normal speed (Stage 2) - 0.25mm", - "sub_path": "process/Normal speed (Stage 2) - 0.25mm.json" - }, - { - "name": "Normal speed (Stage 2) - 0.30mm", - "sub_path": "process/Normal speed (Stage 2) - 0.30mm.json" - }, - { - "name": "Normal speed - 0.10mm", - "sub_path": "process/Normal speed - 0.10mm.json" - }, - { - "name": "Normal speed - 0.15mm", - "sub_path": "process/Normal speed - 0.15mm.json" - }, - { - "name": "Normal speed - 0.20mm", - "sub_path": "process/Normal speed - 0.20mm.json" - }, - { - "name": "Normal speed - 0.25mm", - "sub_path": "process/Normal speed - 0.25mm.json" - }, - { - "name": "Normal speed - 0.30mm", - "sub_path": "process/Normal speed - 0.30mm.json" - }, - { - "name": "Very high speed (Stage 2) - 0.10mm", - "sub_path": "process/Very high speed (Stage 2) - 0.10mm.json" - }, - { - "name": "Very high speed (Stage 2) - 0.15mm", - "sub_path": "process/Very high speed (Stage 2) - 0.15mm.json" - }, - { - "name": "Very high speed (Stage 2) - 0.20mm", - "sub_path": "process/Very high speed (Stage 2) - 0.20mm.json" - }, - { - "name": "Very high speed (Stage 2) - 0.25mm", - "sub_path": "process/Very high speed (Stage 2) - 0.25mm.json" - }, - { - "name": "Very high speed (Stage 2) - 0.30mm", - "sub_path": "process/Very high speed (Stage 2) - 0.30mm.json" - }, - { - "name": "Very high speed - 0.10mm", - "sub_path": "process/Very high speed - 0.10mm.json" - }, - { - "name": "Very high speed - 0.15mm", - "sub_path": "process/Very high speed - 0.15mm.json" - }, - { - "name": "Very high speed - 0.20mm", - "sub_path": "process/Very high speed - 0.20mm.json" - }, - { - "name": "Very high speed - 0.25mm", - "sub_path": "process/Very high speed - 0.25mm.json" - }, - { - "name": "Very high speed - 0.30mm", - "sub_path": "process/Very high speed - 0.30mm.json" - } + {"name": "fdm_process_volumic_common","sub_path": "process/fdm_process_volumic_common.json"}, + + {"name": "Compatible speed - 0.10mm","sub_path": "process/Compatible speed - 0.10mm.json"}, + {"name": "Compatible speed - 0.15mm","sub_path": "process/Compatible speed - 0.15mm.json"}, + {"name": "Compatible speed - 0.20mm","sub_path": "process/Compatible speed - 0.20mm.json"}, + {"name": "Compatible speed - 0.25mm","sub_path": "process/Compatible speed - 0.25mm.json"}, + {"name": "Compatible speed - 0.30mm","sub_path": "process/Compatible speed - 0.30mm.json"}, + + {"name": "High speed - 0.10mm","sub_path": "process/High speed - 0.10mm.json"}, + {"name": "High speed - 0.15mm","sub_path": "process/High speed - 0.15mm.json"}, + {"name": "High speed - 0.20mm","sub_path": "process/High speed - 0.20mm.json"}, + {"name": "High speed - 0.25mm","sub_path": "process/High speed - 0.25mm.json"}, + {"name": "High speed - 0.30mm","sub_path": "process/High speed - 0.30mm.json"}, + {"name": "Normal speed - 0.10mm","sub_path": "process/Normal speed - 0.10mm.json"}, + {"name": "Normal speed - 0.15mm","sub_path": "process/Normal speed - 0.15mm.json"}, + {"name": "Normal speed - 0.20mm","sub_path": "process/Normal speed - 0.20mm.json"}, + {"name": "Normal speed - 0.25mm","sub_path": "process/Normal speed - 0.25mm.json"}, + {"name": "Normal speed - 0.30mm","sub_path": "process/Normal speed - 0.30mm.json"}, + {"name": "Very high speed - 0.10mm","sub_path": "process/Very high speed - 0.10mm.json"}, + {"name": "Very high speed - 0.15mm","sub_path": "process/Very high speed - 0.15mm.json"}, + {"name": "Very high speed - 0.20mm","sub_path": "process/Very high speed - 0.20mm.json"}, + {"name": "Very high speed - 0.25mm","sub_path": "process/Very high speed - 0.25mm.json"}, + {"name": "Very high speed - 0.30mm","sub_path": "process/Very high speed - 0.30mm.json"}, + + {"name": "High speed (Stage 2) - 0.10mm","sub_path": "process/High speed (Stage 2) - 0.10mm.json"}, + {"name": "High speed (Stage 2) - 0.15mm","sub_path": "process/High speed (Stage 2) - 0.15mm.json"}, + {"name": "High speed (Stage 2) - 0.20mm","sub_path": "process/High speed (Stage 2) - 0.20mm.json"}, + {"name": "High speed (Stage 2) - 0.25mm","sub_path": "process/High speed (Stage 2) - 0.25mm.json"}, + {"name": "High speed (Stage 2) - 0.30mm","sub_path": "process/High speed (Stage 2) - 0.30mm.json"}, + {"name": "Normal speed (Stage 2) - 0.10mm","sub_path": "process/Normal speed (Stage 2) - 0.10mm.json"}, + {"name": "Normal speed (Stage 2) - 0.15mm","sub_path": "process/Normal speed (Stage 2) - 0.15mm.json"}, + {"name": "Normal speed (Stage 2) - 0.20mm","sub_path": "process/Normal speed (Stage 2) - 0.20mm.json"}, + {"name": "Normal speed (Stage 2) - 0.25mm","sub_path": "process/Normal speed (Stage 2) - 0.25mm.json"}, + {"name": "Normal speed (Stage 2) - 0.30mm","sub_path": "process/Normal speed (Stage 2) - 0.30mm.json"}, + {"name": "Very high speed (Stage 2) - 0.10mm","sub_path": "process/Very high speed (Stage 2) - 0.10mm.json"}, + {"name": "Very high speed (Stage 2) - 0.15mm","sub_path": "process/Very high speed (Stage 2) - 0.15mm.json"}, + {"name": "Very high speed (Stage 2) - 0.20mm","sub_path": "process/Very high speed (Stage 2) - 0.20mm.json"}, + {"name": "Very high speed (Stage 2) - 0.25mm","sub_path": "process/Very high speed (Stage 2) - 0.25mm.json"}, + {"name": "Very high speed (Stage 2) - 0.30mm","sub_path": "process/Very high speed (Stage 2) - 0.30mm.json"}, + + {"name": "Normal performance - 0.10mm","sub_path": "process/Normal performance - 0.10mm.json"}, + {"name": "Normal performance - 0.15mm","sub_path": "process/Normal performance - 0.15mm.json"}, + {"name": "Normal performance - 0.20mm","sub_path": "process/Normal performance - 0.20mm.json"}, + {"name": "Normal performance - 0.25mm","sub_path": "process/Normal performance - 0.25mm.json"}, + {"name": "Normal performance - 0.30mm","sub_path": "process/Normal performance - 0.30mm.json"}, + {"name": "High performance - 0.10mm","sub_path": "process/High performance - 0.10mm.json"}, + {"name": "High performance - 0.15mm","sub_path": "process/High performance - 0.15mm.json"}, + {"name": "High performance - 0.20mm","sub_path": "process/High performance - 0.20mm.json"}, + {"name": "High performance - 0.25mm","sub_path": "process/High performance - 0.25mm.json"}, + {"name": "High performance - 0.30mm","sub_path": "process/High performance - 0.30mm.json"}, + {"name": "Full performance - 0.10mm","sub_path": "process/Full performance - 0.10mm.json"}, + {"name": "Full performance - 0.15mm","sub_path": "process/Full performance - 0.15mm.json"}, + {"name": "Full performance - 0.20mm","sub_path": "process/Full performance - 0.20mm.json"}, + {"name": "Full performance - 0.25mm","sub_path": "process/Full performance - 0.25mm.json"}, + {"name": "Full performance - 0.30mm","sub_path": "process/Full performance - 0.30mm.json"}, + + {"name": "Normal performance VS30 - 0.10mm","sub_path": "process/Normal performance VS30 - 0.10mm.json"}, + {"name": "Normal performance VS30 - 0.15mm","sub_path": "process/Normal performance VS30 - 0.15mm.json"}, + {"name": "Normal performance VS30 - 0.20mm","sub_path": "process/Normal performance VS30 - 0.20mm.json"}, + {"name": "Normal performance VS30 - 0.25mm","sub_path": "process/Normal performance VS30 - 0.25mm.json"}, + {"name": "Normal performance VS30 - 0.30mm","sub_path": "process/Normal performance VS30 - 0.30mm.json"}, + {"name": "High performance VS30 - 0.10mm","sub_path": "process/High performance VS30 - 0.10mm.json"}, + {"name": "High performance VS30 - 0.15mm","sub_path": "process/High performance VS30 - 0.15mm.json"}, + {"name": "High performance VS30 - 0.20mm","sub_path": "process/High performance VS30 - 0.20mm.json"}, + {"name": "High performance VS30 - 0.25mm","sub_path": "process/High performance VS30 - 0.25mm.json"}, + {"name": "High performance VS30 - 0.30mm","sub_path": "process/High performance VS30 - 0.30mm.json"}, + {"name": "Full performance VS30 - 0.10mm","sub_path": "process/Full performance VS30 - 0.10mm.json"}, + {"name": "Full performance VS30 - 0.15mm","sub_path": "process/Full performance VS30 - 0.15mm.json"}, + {"name": "Full performance VS30 - 0.20mm","sub_path": "process/Full performance VS30 - 0.20mm.json"}, + {"name": "Full performance VS30 - 0.25mm","sub_path": "process/Full performance VS30 - 0.25mm.json"}, + {"name": "Full performance VS30 - 0.30mm","sub_path": "process/Full performance VS30 - 0.30mm.json"}, + + {"name": "Normal performance DUAL - 0.10mm","sub_path": "process/Normal performance DUAL - 0.10mm.json"}, + {"name": "Normal performance DUAL - 0.15mm","sub_path": "process/Normal performance DUAL - 0.15mm.json"}, + {"name": "Normal performance DUAL - 0.20mm","sub_path": "process/Normal performance DUAL - 0.20mm.json"}, + {"name": "Normal performance DUAL - 0.25mm","sub_path": "process/Normal performance DUAL - 0.25mm.json"}, + {"name": "Normal performance DUAL - 0.30mm","sub_path": "process/Normal performance DUAL - 0.30mm.json"}, + {"name": "High performance DUAL - 0.10mm","sub_path": "process/High performance DUAL - 0.10mm.json"}, + {"name": "High performance DUAL - 0.15mm","sub_path": "process/High performance DUAL - 0.15mm.json"}, + {"name": "High performance DUAL - 0.20mm","sub_path": "process/High performance DUAL - 0.20mm.json"}, + {"name": "High performance DUAL - 0.25mm","sub_path": "process/High performance DUAL - 0.25mm.json"}, + {"name": "High performance DUAL - 0.30mm","sub_path": "process/High performance DUAL - 0.30mm.json"}, + {"name": "Full performance DUAL - 0.10mm","sub_path": "process/Full performance DUAL - 0.10mm.json"}, + {"name": "Full performance DUAL - 0.15mm","sub_path": "process/Full performance DUAL - 0.15mm.json"}, + {"name": "Full performance DUAL - 0.20mm","sub_path": "process/Full performance DUAL - 0.20mm.json"}, + {"name": "Full performance DUAL - 0.25mm","sub_path": "process/Full performance DUAL - 0.25mm.json"}, + {"name": "Full performance DUAL - 0.30mm","sub_path": "process/Full performance DUAL - 0.30mm.json"} + ], "filament_list": [ - { - "name": "fdm_filament_common", - "sub_path": "filament/fdm_filament_common.json" - }, - { - "name": "fdm_filament_abs", - "sub_path": "filament/fdm_filament_abs.json" - }, - { - "name": "fdm_filament_asa", - "sub_path": "filament/fdm_filament_asa.json" - }, - { - "name": "fdm_filament_pa", - "sub_path": "filament/fdm_filament_pa.json" - }, - { - "name": "fdm_filament_pc", - "sub_path": "filament/fdm_filament_pc.json" - }, - { - "name": "fdm_filament_pet", - "sub_path": "filament/fdm_filament_pet.json" - }, - { - "name": "fdm_filament_pla", - "sub_path": "filament/fdm_filament_pla.json" - }, - { - "name": "fdm_filament_pp", - "sub_path": "filament/fdm_filament_pp.json" - }, - { - "name": "fdm_filament_pva", - "sub_path": "filament/fdm_filament_pva.json" - }, - { - "name": "fdm_filament_tpu", - "sub_path": "filament/fdm_filament_tpu.json" - }, - { - "name": "Volumic ABS Ultra", - "sub_path": "filament/Volumic ABS Ultra.json" - }, - { - "name": "Volumic ABS Ultra (Performance)", - "sub_path": "filament/Volumic ABS Ultra Performance.json" - }, - { - "name": "Volumic ASA Ultra", - "sub_path": "filament/Volumic ASA Ultra.json" - }, - { - "name": "Volumic ASA Ultra (Performance)", - "sub_path": "filament/Volumic ASA Ultra Performance.json" - }, - { - "name": "Volumic NYLON Ultra", - "sub_path": "filament/Volumic NYLON Ultra.json" - }, - { - "name": "Volumic NYLON Ultra (Performance)", - "sub_path": "filament/Volumic NYLON Ultra Performance.json" - }, - { - "name": "Volumic PC", - "sub_path": "filament/Volumic PC.json" - }, - { - "name": "Volumic PC (Performance)", - "sub_path": "filament/Volumic PC Performance.json" - }, - { - "name": "Volumic PETG Ultra", - "sub_path": "filament/Volumic PETG Ultra.json" - }, - { - "name": "Volumic PETG Ultra (Performance)", - "sub_path": "filament/Volumic PETG Ultra Performance.json" - }, - { - "name": "Volumic PETG Ultra carbone", - "sub_path": "filament/Volumic PETG Ultra carbone.json" - }, - { - "name": "Volumic PETG Ultra carbone (Performance)", - "sub_path": "filament/Volumic PETG Ultra carbone Performance.json" - }, - { - "name": "Désactivé", - "sub_path": "filament/desactive.json" - }, - { - "name": "Volumic PLA Ultra", - "sub_path": "filament/Volumic PLA Ultra.json" - }, - { - "name": "Volumic PLA Ultra (Performance)", - "sub_path": "filament/Volumic PLA Ultra Performance.json" - }, - { - "name": "Volumic UNIVERSAL Ultra", - "sub_path": "filament/Volumic UNIVERSAL Ultra.json" - }, - { - "name": "Volumic UNIVERSAL Ultra (Performance)", - "sub_path": "filament/Volumic UNIVERSAL Ultra Performance.json" - }, - { - "name": "Volumic PP Ultra", - "sub_path": "filament/Volumic PP Ultra.json" - }, - { - "name": "Volumic PP Ultra (Performance)", - "sub_path": "filament/Volumic PP Ultra Performance.json" - }, - { - "name": "Volumic PVA", - "sub_path": "filament/Volumic PVA.json" - }, - { - "name": "Volumic PVA-BVOH (Performance)", - "sub_path": "filament/Volumic PVA Performance.json" - }, - { - "name": "Volumic FLEX93 Ultra", - "sub_path": "filament/Volumic FLEX93 Ultra.json" - }, - { - "name": "Volumic FLEX93 Ultra (Performance)", - "sub_path": "filament/Volumic FLEX93 Ultra Performance.json" - } + {"name": "fdm_filament_common","sub_path": "filament/fdm_filament_common.json"}, + {"name": "fdm_filament_abs","sub_path": "filament/fdm_filament_abs.json"}, + {"name": "fdm_filament_asa","sub_path": "filament/fdm_filament_asa.json"}, + {"name": "fdm_filament_pa","sub_path": "filament/fdm_filament_pa.json"}, + {"name": "fdm_filament_pc","sub_path": "filament/fdm_filament_pc.json"}, + {"name": "fdm_filament_pet","sub_path": "filament/fdm_filament_pet.json"}, + {"name": "fdm_filament_pla","sub_path": "filament/fdm_filament_pla.json"}, + {"name": "fdm_filament_pva","sub_path": "filament/fdm_filament_pva.json"}, + {"name": "fdm_filament_tpu","sub_path": "filament/fdm_filament_tpu.json"}, + {"name": "fdm_filament_pp","sub_path": "filament/fdm_filament_pp.json"}, + + {"name": "Volumic PLA Ultra","sub_path": "filament/Volumic PLA Ultra.json"}, + {"name": "Volumic UNIVERSAL Ultra","sub_path": "filament/Volumic UNIVERSAL Ultra.json"}, + {"name": "Volumic PETG Ultra","sub_path": "filament/Volumic PETG Ultra.json"}, + {"name": "Volumic PETG Ultra carbone","sub_path": "filament/Volumic PETG Ultra carbone.json"}, + {"name": "Volumic ABS Ultra","sub_path": "filament/Volumic ABS Ultra.json"}, + {"name": "Volumic ASA Ultra","sub_path": "filament/Volumic ASA Ultra.json"}, + {"name": "Volumic PP Ultra","sub_path": "filament/Volumic PP Ultra.json"}, + {"name": "Volumic FLEX93 Ultra","sub_path": "filament/Volumic FLEX93 Ultra.json"}, + {"name": "Volumic NYLON Ultra","sub_path": "filament/Volumic NYLON Ultra.json"}, + {"name": "Volumic PC","sub_path": "filament/Volumic PC.json"}, + {"name": "Volumic PVA","sub_path": "filament/Volumic PVA.json"}, + + {"name": "Volumic PLA Ultra (Performance)","sub_path": "filament/Volumic PLA Ultra Performance.json"}, + {"name": "Volumic UNIVERSAL Ultra (Performance)","sub_path": "filament/Volumic UNIVERSAL Ultra Performance.json"}, + {"name": "Volumic PETG Ultra (Performance)","sub_path": "filament/Volumic PETG Ultra Performance.json"}, + {"name": "Volumic PETG Ultra carbone (Performance)","sub_path": "filament/Volumic PETG Ultra carbone Performance.json"}, + {"name": "Volumic ABS Ultra (Performance)","sub_path": "filament/Volumic ABS Ultra Performance.json"}, + {"name": "Volumic ASA Ultra (Performance)","sub_path": "filament/Volumic ASA Ultra Performance.json"}, + {"name": "Volumic PP Ultra (Performance)","sub_path": "filament/Volumic PP Ultra Performance.json"}, + {"name": "Volumic FLEX93 Ultra (Performance)","sub_path": "filament/Volumic FLEX93 Ultra Performance.json"}, + {"name": "Volumic NYLON Ultra (Performance)","sub_path": "filament/Volumic NYLON Ultra Performance.json"}, + {"name": "Volumic PC (Performance)","sub_path": "filament/Volumic PC Performance.json"}, + {"name": "Volumic PVA-BVOH (Performance)","sub_path": "filament/Volumic PVA Performance.json"}, + {"name": "PA6 CF20 (Performance)","sub_path": "filament/PA6 CF20 (Performance).json"}, + {"name": "PETG ESD (Performance)","sub_path": "filament/PETG ESD (Performance).json"}, + {"name": "PPS Carbone (Performance)","sub_path": "filament/PPS Carbone (Performance).json"}, + {"name": "Volumic PCTG Ultra (Performance)","sub_path": "filament/Volumic PCTG Ultra (Performance).json"}, + + {"name": "Désactivé","sub_path": "filament/desactive.json"} ] -} \ No newline at end of file +} diff --git a/resources/profiles/Volumic/machine/VS30SC2 Performance (0.4 nozzle).json b/resources/profiles/Volumic/machine/VS30SC2 Performance (0.4 nozzle).json index 3b543d24624..d731d20ca89 100644 --- a/resources/profiles/Volumic/machine/VS30SC2 Performance (0.4 nozzle).json +++ b/resources/profiles/Volumic/machine/VS30SC2 Performance (0.4 nozzle).json @@ -1,12 +1,12 @@ { "type": "machine", - "setting_id": "GM002", + "setting_id": "GM001", "name": "VS30SC2 Performance (0.4 nozzle)", "from": "system", "instantiation": "true", "inherits": "fdm_volumic_common", "printer_model": "VS30SC2 Performance", - "default_print_profile": "Normal speed - 0.15mm", + "default_print_profile": "Normal performance VS30 - 0.20mm", "host_type": "octoprint", "print_host": "192.168.0.60", "nozzle_diameter": ["0.4"], diff --git a/scripts/flatpak/io.github.orcaslicer.OrcaSlicer.yml b/scripts/flatpak/io.github.orcaslicer.OrcaSlicer.yml index 5bb44df25d5..b161f994778 100644 --- a/scripts/flatpak/io.github.orcaslicer.OrcaSlicer.yml +++ b/scripts/flatpak/io.github.orcaslicer.OrcaSlicer.yml @@ -1,10 +1,19 @@ app-id: io.github.orcaslicer.OrcaSlicer runtime: org.gnome.Platform -runtime-version: "48" +runtime-version: "49" sdk: org.gnome.Sdk +sdk-extensions: + - org.freedesktop.Sdk.Extension.llvm21 command: entrypoint separate-locales: true rename-icon: OrcaSlicer +build-options: + append-path: /usr/lib/sdk/llvm21/bin + prepend-ld-library-path: /usr/lib/sdk/llvm21/lib + env: + CC: clang + CXX: clang++ + LDFLAGS: "-fuse-ld=lld" finish-args: - --share=ipc - --socket=x11 @@ -38,6 +47,8 @@ modules: sha256: e305b9f07f52743ca481da0a4e0c76c35efd60adaf1b0694eb3bb021e2137e39 - name: glu + build-options: + cxxflags: -Wno-register config-opts: - --disable-static sources: @@ -70,6 +81,9 @@ modules: # Config-opts mirror deps/wxWidgets/wxWidgets.cmake with FLATPAK=ON, DEP_WX_GTK3=ON - name: wxWidgets buildsystem: cmake-ninja + build-options: + env: + CMAKE_POLICY_VERSION_MINIMUM: "3.5" config-opts: - -DCMAKE_BUILD_TYPE=Release - -DwxBUILD_PRECOMP=ON @@ -99,6 +113,9 @@ modules: - -DwxUSE_LIBJPEG=sys - -DwxUSE_LIBTIFF=OFF - -DwxUSE_EXPAT=sys + - -DCMAKE_EXE_LINKER_FLAGS=-fuse-ld=lld + - -DCMAKE_SHARED_LINKER_FLAGS=-fuse-ld=lld + - -DCMAKE_MODULE_LINKER_FLAGS=-fuse-ld=lld sources: - type: git url: https://github.com/SoftFever/Orca-deps-wxWidgets @@ -118,7 +135,10 @@ modules: -DDEP_DOWNLOAD_DIR=/run/build/orca_deps/external-packages \ -DCMAKE_PREFIX_PATH=/app \ -DDESTDIR=/app \ - -DCMAKE_INSTALL_PREFIX=/app + -DCMAKE_INSTALL_PREFIX=/app \ + -DCMAKE_EXE_LINKER_FLAGS="-fuse-ld=lld" \ + -DCMAKE_SHARED_LINKER_FLAGS="-fuse-ld=lld" \ + -DCMAKE_MODULE_LINKER_FLAGS="-fuse-ld=lld" - cmake --build $BUILD_DIR --parallel - rm -rf /run/build/orca_deps/external-packages @@ -290,7 +310,10 @@ modules: -DFLATPAK=ON \ -DCMAKE_BUILD_TYPE=Release \ -DCMAKE_PREFIX_PATH=/app \ - -DCMAKE_INSTALL_PREFIX=/app + -DCMAKE_INSTALL_PREFIX=/app \ + -DCMAKE_EXE_LINKER_FLAGS="-fuse-ld=lld" \ + -DCMAKE_SHARED_LINKER_FLAGS="-fuse-ld=lld" \ + -DCMAKE_MODULE_LINKER_FLAGS="-fuse-ld=lld" - cmake --build build_flatpak --target OrcaSlicer -j$FLATPAK_BUILDER_N_JOBS - ./scripts/run_gettext.sh - cmake --build build_flatpak --target install -j$FLATPAK_BUILDER_N_JOBS diff --git a/src/libslic3r/Print.cpp b/src/libslic3r/Print.cpp index 56ff4513a80..7ec220dc73a 100644 --- a/src/libslic3r/Print.cpp +++ b/src/libslic3r/Print.cpp @@ -1526,6 +1526,10 @@ StringObjectException Print::validate(StringObjectException *warning, Polygons* // Orca: check if the Lightning base pattern selected warning->string = L("The Lightning base pattern is not supported by this support type; Rectilinear will be used instead."); warning->opt_key = "support_base_pattern"; + } else if (object->config().support_base_pattern == SupportMaterialPattern::smpNone && warning) { + // Orca: check if the Hollow base pattern selected + warning->string = L("The Hollow base pattern is not supported by this support type; Rectilinear will be used instead."); + warning->opt_key = "support_base_pattern"; } } diff --git a/src/libvgcode/src/Shaders.hpp b/src/libvgcode/src/Shaders.hpp index 826f9a4805c..1450d1a6df0 100644 --- a/src/libvgcode/src/Shaders.hpp +++ b/src/libvgcode/src/Shaders.hpp @@ -90,7 +90,10 @@ static const char* Segments_Vertex_Shader = " );\n" " int id = vertex_id < 4 ? id_a : id_b;\n" " vec3 endpoint_pos = vertex_id < 4 ? pos_a : pos_b;\n" -" vec3 height_width_angle = texelFetch(height_width_angle_tex, id).xyz;\n" +" vec4 hwa = texelFetch(height_width_angle_tex, id);\n" +" vec3 height_width_angle = hwa.xyz;\n" +" // ORCA: Extract bias from w component\n" +" float bias = hwa.w;\n" "#ifdef FIX_TWISTING\n" " int closer_id = (dot(camera_position - pos_a, camera_position - pos_a) < dot(camera_position - pos_b, camera_position - pos_b)) ? id_a : id_b;\n" " vec3 closer_pos = (closer_id == id_a) ? pos_a : pos_b;\n" @@ -131,6 +134,8 @@ static const char* Segments_Vertex_Shader = " }\n" " }\n" " vec3 eye_position = (view_matrix * vec4(pos, 1.0)).xyz;\n" +" // ORCA: Apply bias to z-position to avoid z-fighting\n" +" eye_position.z += bias;\n" " vec3 eye_normal = (view_matrix * vec4(normalize(pos - endpoint_pos), 0.0)).xyz;\n" " vec3 color_base = decode_color(texelFetch(color_tex, id).r);\n" " color = color_base * lighting(eye_position, eye_normal);\n" @@ -155,9 +160,11 @@ static const char* Options_Vertex_Shader = "const float light_front_diffuse = 0.6 * 0.3;\n" "const float ambient = 0.3;\n" "const float emission = 0.25;\n" -#ifndef _WIN32 +#ifdef __APPLE__ +// ORCA: Use smaller scaling factor for macOS "const float scaling_factor = 0.75;\n" #else +// ORCA: Increase seam marker size to 1.5 for Windows and Linux "const float scaling_factor = 1.5;\n" #endif "uniform mat4 view_matrix;\n" @@ -185,7 +192,10 @@ static const char* Options_Vertex_Shader = "}\n" "void main() {\n" " int id = int(texelFetch(segment_index_tex, gl_InstanceID).r);\n" -" vec2 height_width = texelFetch(height_width_angle_tex, id).xy;\n" +" vec4 hwa = texelFetch(height_width_angle_tex, id);\n" +" vec2 height_width = hwa.xy;\n" +" // ORCA: Extract bias from w component\n" +" float bias = hwa.w;\n" " vec3 offset = texelFetch(position_tex, id).xyz - vec3(0.0, 0.0, 0.5 * height_width.x);\n" " height_width *= scaling_factor;\n" " mat3 scale_matrix = mat3(\n" @@ -193,6 +203,8 @@ static const char* Options_Vertex_Shader = " 0.0, height_width.y, 0.0,\n" " 0.0, 0.0, height_width.x);\n" " vec3 eye_position = (view_matrix * vec4(scale_matrix * in_position + offset, 1.0)).xyz;\n" +" // ORCA: Apply bias to z-position to avoid z-fighting\n" +" eye_position.z += bias;\n" " vec3 eye_normal = (view_matrix * vec4(in_normal, 0.0)).xyz;\n" " vec3 color_base = decode_color(texelFetch(color_tex, id).r);\n" " color = color_base * lighting(eye_position, eye_normal);\n" diff --git a/src/libvgcode/src/ViewerImpl.cpp b/src/libvgcode/src/ViewerImpl.cpp index 8576d697ad1..4732c042cf2 100644 --- a/src/libvgcode/src/ViewerImpl.cpp +++ b/src/libvgcode/src/ViewerImpl.cpp @@ -966,9 +966,18 @@ static void extract_pos_and_or_hwa(const std::vector& vertices, floa height = v.height; width = v.width; } + + // ORCA: Set bias for wipes and options to avoid z-fighting + float bias = 0.0f; + if (v.is_wipe()) + bias = 0.05f; + else if (v.is_option()) + bias = 0.1f; + // the last component is a dummy float to comply with GL_RGBA32F format + // ORCA: Pass bias to shader heights_widths_angles->push_back({ height, width, - std::atan2(prev_line[0] * this_line[1] - prev_line[1] * this_line[0], dot(prev_line, this_line)), 0.0f }); + std::atan2(prev_line[0] * this_line[1] - prev_line[1] * this_line[0], dot(prev_line, this_line)), bias }); } } } diff --git a/src/slic3r/CMakeLists.txt b/src/slic3r/CMakeLists.txt index 7ec32159406..4c3bf26737d 100644 --- a/src/slic3r/CMakeLists.txt +++ b/src/slic3r/CMakeLists.txt @@ -791,9 +791,8 @@ if (UNIX AND NOT APPLE) # I don't know why this is needed, but for whatever reason slic3r isn't # linking to X11 and webkit2gtk. force it. find_package(X11 REQUIRED) - find_package(PkgConfig REQUIRED) pkg_check_modules(webkit2gtk REQUIRED webkit2gtk-4.1) - target_link_libraries (libslic3r_gui ${X11_LIBRARIES} ${webkit2gtk_LIBRARIES}) + target_link_libraries(libslic3r_gui ${X11_LIBRARIES} ${webkit2gtk_LIBRARIES}) endif() target_include_directories(libslic3r_gui SYSTEM PRIVATE ${GTK${SLIC3R_GTK}_INCLUDE_DIRS} ${LIBSECRET_INCLUDE_DIRS}) target_link_libraries(libslic3r_gui ${GTK${SLIC3R_GTK}_LIBRARIES} fontconfig ${LIBSECRET_LIBRARIES}) diff --git a/src/slic3r/GUI/CreatePresetsDialog.cpp b/src/slic3r/GUI/CreatePresetsDialog.cpp index b34b5df3ac8..9a42319bf1d 100644 --- a/src/slic3r/GUI/CreatePresetsDialog.cpp +++ b/src/slic3r/GUI/CreatePresetsDialog.cpp @@ -103,7 +103,7 @@ static const std::unordered_map> printer_m "Creality Hi"}}, {"DeltaMaker", {"DeltaMaker 2", "DeltaMaker 2T", "DeltaMaker 2XT"}}, {"Dremel", {"Dremel 3D20", "Dremel 3D40", "Dremel 3D45"}}, - {"Elegoo", {"Elegoo Centauri Carbon", "Elegoo Centauri", "Elegoo Neptune", "Elegoo Neptune X", "Elegoo Neptune 2", + {"Elegoo", {"Elegoo Centauri Carbon 2", "Elegoo Centauri Carbon", "Elegoo Centauri", "Elegoo Neptune", "Elegoo Neptune X", "Elegoo Neptune 2", "Elegoo Neptune 2S", "Elegoo Neptune 2D", "Elegoo Neptune 3", "Elegoo Neptune 3 Pro", "Elegoo Neptune 3 Plus", "Elegoo Neptune 3 Max", "Elegoo Neptune 4 Pro", "Elegoo Neptune 4", "Elegoo Neptune 4 Max", "Elegoo Neptune 4 Plus", "Elegoo OrangeStorm Giga"}}, diff --git a/src/slic3r/GUI/GCodeViewer.cpp b/src/slic3r/GUI/GCodeViewer.cpp index 443757a1179..fe47b581c31 100644 --- a/src/slic3r/GUI/GCodeViewer.cpp +++ b/src/slic3r/GUI/GCodeViewer.cpp @@ -1629,7 +1629,29 @@ void GCodeViewer::update_sequential_view_current(unsigned int first, unsigned in levels.push_back(std::make_pair(value, libvgcode::convert(color_range.get_color_at(value)))); levels.back().second.a(0.5f); } - m_sequential_view.marker.set_actual_speed_data(actual_speed_data); + + // ORCA Compress consecutive duplicate speeds with 0.1 precision + auto sameSpeed = [](float a, float b) { + return static_cast(std::roundf(a * 10.0f)) == static_cast(std::roundf(b * 10.0f)); + }; + std::vector compressed; + if (!actual_speed_data.empty()) { + compressed.push_back(actual_speed_data[0]); + for (int i = 1; i < (int)actual_speed_data.size(); ++i) { + const bool same_as_prev = sameSpeed(actual_speed_data[i].speed, actual_speed_data[i - 1].speed); + const bool same_as_next = (i + 1 < (int)actual_speed_data.size()) && sameSpeed(actual_speed_data[i].speed, actual_speed_data[i + 1].speed); + if (!same_as_prev) { + if (!sameSpeed(compressed.back().speed, actual_speed_data[i - 1].speed)) + compressed.push_back(actual_speed_data[i - 1]); + compressed.push_back(actual_speed_data[i]); + } else if (!same_as_next) + compressed.push_back(actual_speed_data[i]); + } + if (compressed.back().pos != actual_speed_data.back().pos) + compressed.push_back(actual_speed_data.back()); + } + + m_sequential_view.marker.set_actual_speed_data(compressed); m_sequential_view.marker.set_actual_speed_y_range(std::make_pair(interval[0], interval[1])); m_sequential_view.marker.set_actual_speed_levels(levels); } diff --git a/src/slic3r/GUI/GLCanvas3D.cpp b/src/slic3r/GUI/GLCanvas3D.cpp index 452c4301a3d..2eff0298c95 100644 --- a/src/slic3r/GUI/GLCanvas3D.cpp +++ b/src/slic3r/GUI/GLCanvas3D.cpp @@ -4277,15 +4277,16 @@ void GLCanvas3D::on_mouse(wxMouseEvent& evt) m_canvas->SetFocus(); if (evt.Entering()) { -//#if defined(__WXMSW__) || defined(__linux__) -// // On Windows and Linux needs focus in order to catch key events - // Set focus in order to remove it from sidebar fields + // Set focus in order to remove it from sidebar fields and ensure hotkeys work if (m_canvas != nullptr) { - // Only set focus, if the top level window of this canvas is active. + // Only set focus if the top level window of this canvas is active. auto p = dynamic_cast(evt.GetEventObject()); while (p->GetParent()) p = p->GetParent(); auto *top_level_wnd = dynamic_cast(p); + //Orca: Set focus so hotkeys like 'tab' work when a notification is shown. + if (top_level_wnd != nullptr && top_level_wnd->IsActive()) + m_canvas->SetFocus(); m_mouse.position = pos.cast(); m_tooltip_enabled = false; // 1) forces a frame render to ensure that m_hover_volume_idxs is updated even when the user right clicks while @@ -4297,7 +4298,6 @@ void GLCanvas3D::on_mouse(wxMouseEvent& evt) m_tooltip_enabled = true; } m_mouse.set_start_position_2D_as_invalid(); -//#endif } else if (evt.Leaving()) { // to remove hover on objects when the mouse goes out of this canvas diff --git a/src/slic3r/GUI/Gizmos/GLGizmoMeasure.cpp b/src/slic3r/GUI/Gizmos/GLGizmoMeasure.cpp index eeeb3da2859..8a6bed9bca3 100644 --- a/src/slic3r/GUI/Gizmos/GLGizmoMeasure.cpp +++ b/src/slic3r/GUI/Gizmos/GLGizmoMeasure.cpp @@ -678,7 +678,7 @@ void GLGizmoMeasure::on_render() m_mesh_raycaster_map[m_last_hit_volume]->get_transform(), m_only_select_plane) : std::nullopt; } - if (m_measure_mode == EMeasureMode::ONLY_ASSEMBLY) { + if (m_measure_mode == EMeasureMode::ONLY_ASSEMBLY && curr_feature.has_value()) { if (m_assembly_mode == AssemblyMode::FACE_FACE) { if (curr_feature->get_type() != Measure::SurfaceFeatureType::Plane) { curr_feature.reset(); diff --git a/src/slic3r/GUI/MediaPlayCtrl.h b/src/slic3r/GUI/MediaPlayCtrl.h index bb4e8e448f6..f5e5dcddfc6 100644 --- a/src/slic3r/GUI/MediaPlayCtrl.h +++ b/src/slic3r/GUI/MediaPlayCtrl.h @@ -67,10 +67,10 @@ private: static bool get_stream_url(std::string *url = nullptr); private: - static const wxMediaState MEDIASTATE_IDLE = (wxMediaState) 3; - static const wxMediaState MEDIASTATE_INITIALIZING = (wxMediaState) 4; - static const wxMediaState MEDIASTATE_LOADING = (wxMediaState) 5; - static const wxMediaState MEDIASTATE_BUFFERING = (wxMediaState) 6; + static inline const wxMediaState MEDIASTATE_IDLE = static_cast(3); + static inline const wxMediaState MEDIASTATE_INITIALIZING = static_cast(4); + static inline const wxMediaState MEDIASTATE_LOADING = static_cast(5); + static inline const wxMediaState MEDIASTATE_BUFFERING = static_cast(6); // token std::shared_ptr m_token = std::make_shared(0); diff --git a/src/slic3r/GUI/PartPlate.cpp b/src/slic3r/GUI/PartPlate.cpp index e7f9810ae09..332dc4c1df2 100644 --- a/src/slic3r/GUI/PartPlate.cpp +++ b/src/slic3r/GUI/PartPlate.cpp @@ -3079,53 +3079,42 @@ bool PartPlate::set_shape(const Pointfs& shape, const Pointfs& exclude_areas, co calc_bounding_boxes(); - ExPolygon logo_poly; - generate_logo_polygon(logo_poly); - m_logo_triangles.reset(); - if (!init_model_from_poly(m_logo_triangles, logo_poly, GROUND_Z + 0.02f)) - BOOST_LOG_TRIVIAL(error) << __FUNCTION__ << ":Unable to create logo triangles\n"; + if (m_plater != nullptr) { // render data, skip in CLI mode where m_plater is null + ExPolygon logo_poly; + generate_logo_polygon(logo_poly); + m_logo_triangles.reset(); + if (!init_model_from_poly(m_logo_triangles, logo_poly, GROUND_Z + 0.02f)) + BOOST_LOG_TRIVIAL(error) << __FUNCTION__ << ":Unable to create logo triangles\n"; - ExPolygon poly; - /*for (const Vec2d& p : m_shape) { - poly.contour.append({ scale_(p(0)), scale_(p(1)) }); - }*/ - generate_print_polygon(poly); - calc_triangles(poly); + ExPolygon poly; + generate_print_polygon(poly); + calc_triangles(poly); - // reset m_wrapping_detection_triangles when change printer - m_print_polygon = poly; - m_wrapping_detection_triangles.reset(); - init_raycaster_from_model(m_triangles); + // reset m_wrapping_detection_triangles when change printer + m_print_polygon = poly; + m_wrapping_detection_triangles.reset(); + init_raycaster_from_model(m_triangles); - ExPolygon exclude_poly; - /*for (const Vec2d& p : m_exclude_area) { - exclude_poly.contour.append({ scale_(p(0)), scale_(p(1)) }); - }*/ - generate_exclude_polygon(exclude_poly); - calc_exclude_triangles(exclude_poly); + ExPolygon exclude_poly; + generate_exclude_polygon(exclude_poly); + calc_exclude_triangles(exclude_poly); - const BoundingBox& pp_bbox = poly.contour.bounding_box(); - calc_gridlines(poly, pp_bbox); + const BoundingBox& pp_bbox = poly.contour.bounding_box(); + calc_gridlines(poly, pp_bbox); - //calc_vertex_for_icons_background(5, m_del_and_background_icon); - //calc_vertex_for_icons(4, m_del_icon); - calc_vertex_for_icons(0, m_del_icon); - calc_vertex_for_icons(1, m_orient_icon); - calc_vertex_for_icons(2, m_arrange_icon); - calc_vertex_for_icons(3, m_lock_icon); - calc_vertex_for_icons(4, m_plate_settings_icon); - // ORCA also change bed_icon_count number in calc_vertex_for_icons() after adding or removing icons for circular shaped beds that uses vertical alingment for icons - bool dual_bbl = false; - if (m_plater) { - PresetBundle* preset = wxGetApp().preset_bundle; - dual_bbl = (preset->is_bbl_vendor() && preset->get_printer_extruder_count() == 2); - } - calc_vertex_for_icons(dual_bbl ? 5 : 6, m_plate_filament_map_icon); - calc_vertex_for_icons(dual_bbl ? 6 : 5, m_move_front_icon); + calc_vertex_for_icons(0, m_del_icon); + calc_vertex_for_icons(1, m_orient_icon); + calc_vertex_for_icons(2, m_arrange_icon); + calc_vertex_for_icons(3, m_lock_icon); + calc_vertex_for_icons(4, m_plate_settings_icon); + // ORCA also change bed_icon_count number in calc_vertex_for_icons() after adding or removing icons for circular shaped beds that uses vertical alingment for icons + bool dual_bbl = false; + PresetBundle* preset = wxGetApp().preset_bundle; + dual_bbl = (preset->is_bbl_vendor() && preset->get_printer_extruder_count() == 2); + calc_vertex_for_icons(dual_bbl ? 5 : 6, m_plate_filament_map_icon); + calc_vertex_for_icons(dual_bbl ? 6 : 5, m_move_front_icon); - //calc_vertex_for_number(0, (m_plate_index < 9), m_plate_idx_icon); - calc_vertex_for_number(0, false, m_plate_idx_icon); - if (m_plater) { + calc_vertex_for_number(0, false, m_plate_idx_icon); // calc vertex for plate name generate_plate_name_texture(); } diff --git a/src/slic3r/GUI/calib_dlg.cpp b/src/slic3r/GUI/calib_dlg.cpp index 9dc0d478274..c0ca0ae017a 100644 --- a/src/slic3r/GUI/calib_dlg.cpp +++ b/src/slic3r/GUI/calib_dlg.cpp @@ -102,7 +102,7 @@ PA_Calibration_Dlg::PA_Calibration_Dlg(wxWindow* parent, wxWindowID id, Plater* int text_max = GetTextMax(this, std::vector{start_pa_str, end_pa_str, PA_step_str, sp_accel_str, sp_speed_str, cb_print_no_str}); - auto st_size = FromDIP(wxSize(text_max, -1)); + auto st_size = wxSize(text_max, -1); auto ti_size = FromDIP(wxSize(120, -1)); LabeledStaticBox* stb = new LabeledStaticBox(this, _L("Settings")); @@ -123,7 +123,7 @@ PA_Calibration_Dlg::PA_Calibration_Dlg(wxWindow* parent, wxWindowID id, Plater* auto end_PA_sizer = new wxBoxSizer(wxHORIZONTAL); auto end_pa_text = new wxStaticText(this, wxID_ANY, end_pa_str, wxDefaultPosition, st_size, wxALIGN_LEFT); m_tiEndPA = new TextInput(this, "", "", "", wxDefaultPosition, ti_size, wxTE_PROCESS_ENTER); - m_tiStartPA->GetTextCtrl()->SetValidator(wxTextValidator(wxFILTER_NUMERIC)); + m_tiEndPA->GetTextCtrl()->SetValidator(wxTextValidator(wxFILTER_NUMERIC)); end_PA_sizer->Add(end_pa_text, 0, wxALL | wxALIGN_CENTER_VERTICAL, FromDIP(2)); end_PA_sizer->Add(m_tiEndPA , 0, wxALL | wxALIGN_CENTER_VERTICAL, FromDIP(2)); settings_sizer->Add(end_PA_sizer, 0, wxLEFT, FromDIP(3)); @@ -132,7 +132,7 @@ PA_Calibration_Dlg::PA_Calibration_Dlg(wxWindow* parent, wxWindowID id, Plater* auto PA_step_sizer = new wxBoxSizer(wxHORIZONTAL); auto PA_step_text = new wxStaticText(this, wxID_ANY, PA_step_str, wxDefaultPosition, st_size, wxALIGN_LEFT); m_tiPAStep = new TextInput(this, "", "", "", wxDefaultPosition, ti_size, wxTE_PROCESS_ENTER); - m_tiStartPA->GetTextCtrl()->SetValidator(wxTextValidator(wxFILTER_NUMERIC)); + m_tiPAStep->GetTextCtrl()->SetValidator(wxTextValidator(wxFILTER_NUMERIC)); PA_step_sizer->Add(PA_step_text, 0, wxALL | wxALIGN_CENTER_VERTICAL, FromDIP(2)); PA_step_sizer->Add(m_tiPAStep , 0, wxALL | wxALIGN_CENTER_VERTICAL, FromDIP(2)); settings_sizer->Add(PA_step_sizer, 0, wxLEFT, FromDIP(3)); @@ -351,7 +351,7 @@ Temp_Calibration_Dlg::Temp_Calibration_Dlg(wxWindow* parent, wxWindowID id, Plat wxString temp_step_str = _L("Temp step: "); int text_max = GetTextMax(this, std::vector{start_temp_str, end_temp_str, temp_step_str}); - auto st_size = FromDIP(wxSize(text_max, -1)); + auto st_size = wxSize(text_max, -1); auto ti_size = FromDIP(wxSize(120, -1)); LabeledStaticBox* stb = new LabeledStaticBox(this, _L("Settings")); @@ -372,7 +372,7 @@ Temp_Calibration_Dlg::Temp_Calibration_Dlg(wxWindow* parent, wxWindowID id, Plat auto end_temp_sizer = new wxBoxSizer(wxHORIZONTAL); auto end_temp_text = new wxStaticText(this, wxID_ANY, end_temp_str, wxDefaultPosition, st_size, wxALIGN_LEFT); m_tiEnd = new TextInput(this, std::to_string(190), _L("\u2103" /* °C */), "", wxDefaultPosition, ti_size); - m_tiStart->GetTextCtrl()->SetValidator(wxTextValidator(wxFILTER_NUMERIC)); + m_tiEnd->GetTextCtrl()->SetValidator(wxTextValidator(wxFILTER_NUMERIC)); end_temp_sizer->Add(end_temp_text, 0, wxALL | wxALIGN_CENTER_VERTICAL, FromDIP(2)); end_temp_sizer->Add(m_tiEnd , 0, wxALL | wxALIGN_CENTER_VERTICAL, FromDIP(2)); settings_sizer->Add(end_temp_sizer, 0, wxLEFT, FromDIP(3)); @@ -381,7 +381,7 @@ Temp_Calibration_Dlg::Temp_Calibration_Dlg(wxWindow* parent, wxWindowID id, Plat auto temp_step_sizer = new wxBoxSizer(wxHORIZONTAL); auto temp_step_text = new wxStaticText(this, wxID_ANY, temp_step_str, wxDefaultPosition, st_size, wxALIGN_LEFT); m_tiStep = new TextInput(this, wxString::FromDouble(5), _L("\u2103" /* °C */), "", wxDefaultPosition, ti_size); - m_tiStart->GetTextCtrl()->SetValidator(wxTextValidator(wxFILTER_NUMERIC)); + m_tiStep->GetTextCtrl()->SetValidator(wxTextValidator(wxFILTER_NUMERIC)); m_tiStep->Enable(false); temp_step_sizer->Add(temp_step_text, 0, wxALL | wxALIGN_CENTER_VERTICAL, FromDIP(2)); temp_step_sizer->Add(m_tiStep , 0, wxALL | wxALIGN_CENTER_VERTICAL, FromDIP(2)); @@ -533,7 +533,7 @@ MaxVolumetricSpeed_Test_Dlg::MaxVolumetricSpeed_Test_Dlg(wxWindow* parent, wxWin wxString vol_step_str = _L("Step") + ": "; int text_max = GetTextMax(this, std::vector{start_vol_str, end_vol_str, vol_step_str}); - auto st_size = FromDIP(wxSize(text_max, -1)); + auto st_size = wxSize(text_max, -1); auto ti_size = FromDIP(wxSize(120, -1)); LabeledStaticBox* stb = new LabeledStaticBox(this, _L("Settings")); @@ -555,7 +555,7 @@ MaxVolumetricSpeed_Test_Dlg::MaxVolumetricSpeed_Test_Dlg(wxWindow* parent, wxWin auto end_vol_sizer = new wxBoxSizer(wxHORIZONTAL); auto end_vol_text = new wxStaticText(this, wxID_ANY, end_vol_str, wxDefaultPosition, st_size, wxALIGN_LEFT); m_tiEnd = new TextInput(this, std::to_string(20), _L(u8"mm³/s"), "", wxDefaultPosition, ti_size); - m_tiStart->GetTextCtrl()->SetValidator(wxTextValidator(wxFILTER_NUMERIC)); + m_tiEnd->GetTextCtrl()->SetValidator(wxTextValidator(wxFILTER_NUMERIC)); end_vol_sizer->Add(end_vol_text, 0, wxALL | wxALIGN_CENTER_VERTICAL, FromDIP(2)); end_vol_sizer->Add(m_tiEnd , 0, wxALL | wxALIGN_CENTER_VERTICAL, FromDIP(2)); settings_sizer->Add(end_vol_sizer, 0, wxLEFT, FromDIP(3)); @@ -564,7 +564,7 @@ MaxVolumetricSpeed_Test_Dlg::MaxVolumetricSpeed_Test_Dlg(wxWindow* parent, wxWin auto vol_step_sizer = new wxBoxSizer(wxHORIZONTAL); auto vol_step_text = new wxStaticText(this, wxID_ANY, vol_step_str, wxDefaultPosition, st_size, wxALIGN_LEFT); m_tiStep = new TextInput(this, wxString::FromDouble(0.5), _L(u8"mm³/s"), "", wxDefaultPosition, ti_size); - m_tiStart->GetTextCtrl()->SetValidator(wxTextValidator(wxFILTER_NUMERIC)); + m_tiStep->GetTextCtrl()->SetValidator(wxTextValidator(wxFILTER_NUMERIC)); vol_step_sizer->Add(vol_step_text, 0, wxALL | wxALIGN_CENTER_VERTICAL, FromDIP(2)); vol_step_sizer->Add(m_tiStep , 0, wxALL | wxALIGN_CENTER_VERTICAL, FromDIP(2)); settings_sizer->Add(vol_step_sizer, 0, wxLEFT, FromDIP(3)); @@ -638,7 +638,7 @@ VFA_Test_Dlg::VFA_Test_Dlg(wxWindow* parent, wxWindowID id, Plater* plater) wxString vol_step_str = _L("Step") + ": "; int text_max = GetTextMax(this, std::vector{start_str, end_vol_str, vol_step_str}); - auto st_size = FromDIP(wxSize(text_max, -1)); + auto st_size = wxSize(text_max, -1); auto ti_size = FromDIP(wxSize(120, -1)); LabeledStaticBox* stb = new LabeledStaticBox(this, _L("Settings")); @@ -660,7 +660,7 @@ VFA_Test_Dlg::VFA_Test_Dlg(wxWindow* parent, wxWindowID id, Plater* plater) auto end_vol_sizer = new wxBoxSizer(wxHORIZONTAL); auto end_vol_text = new wxStaticText(this, wxID_ANY, end_vol_str, wxDefaultPosition, st_size, wxALIGN_LEFT); m_tiEnd = new TextInput(this, std::to_string(200), _L("mm/s"), "", wxDefaultPosition, ti_size); - m_tiStart->GetTextCtrl()->SetValidator(wxTextValidator(wxFILTER_NUMERIC)); + m_tiEnd->GetTextCtrl()->SetValidator(wxTextValidator(wxFILTER_NUMERIC)); end_vol_sizer->Add(end_vol_text, 0, wxALL | wxALIGN_CENTER_VERTICAL, FromDIP(2)); end_vol_sizer->Add(m_tiEnd , 0, wxALL | wxALIGN_CENTER_VERTICAL, FromDIP(2)); settings_sizer->Add(end_vol_sizer, 0, wxLEFT, FromDIP(3)); @@ -669,7 +669,7 @@ VFA_Test_Dlg::VFA_Test_Dlg(wxWindow* parent, wxWindowID id, Plater* plater) auto vol_step_sizer = new wxBoxSizer(wxHORIZONTAL); auto vol_step_text = new wxStaticText(this, wxID_ANY, vol_step_str, wxDefaultPosition, st_size, wxALIGN_LEFT); m_tiStep = new TextInput(this, wxString::FromDouble(10), _L("mm/s"), "", wxDefaultPosition, ti_size); - m_tiStart->GetTextCtrl()->SetValidator(wxTextValidator(wxFILTER_NUMERIC)); + m_tiStep->GetTextCtrl()->SetValidator(wxTextValidator(wxFILTER_NUMERIC)); vol_step_sizer->Add(vol_step_text, 0, wxALL | wxALIGN_CENTER_VERTICAL, FromDIP(2)); vol_step_sizer->Add(m_tiStep , 0, wxALL | wxALIGN_CENTER_VERTICAL, FromDIP(2)); settings_sizer->Add(vol_step_sizer, 0, wxLEFT, FromDIP(3)); @@ -746,7 +746,7 @@ Retraction_Test_Dlg::Retraction_Test_Dlg(wxWindow* parent, wxWindowID id, Plater wxString length_step_str = _L("Step") + ": "; int text_max = GetTextMax(this, std::vector{start_length_str, end_length_str, length_step_str}); - auto st_size = FromDIP(wxSize(text_max, -1)); + auto st_size = wxSize(text_max, -1); auto ti_size = FromDIP(wxSize(120, -1)); LabeledStaticBox* stb = new LabeledStaticBox(this, _L("Settings")); @@ -768,7 +768,7 @@ Retraction_Test_Dlg::Retraction_Test_Dlg(wxWindow* parent, wxWindowID id, Plater auto end_length_sizer = new wxBoxSizer(wxHORIZONTAL); auto end_length_text = new wxStaticText(this, wxID_ANY, end_length_str, wxDefaultPosition, st_size, wxALIGN_LEFT); m_tiEnd = new TextInput(this, std::to_string(2), _L("mm"), "", wxDefaultPosition, ti_size); - m_tiStart->GetTextCtrl()->SetValidator(wxTextValidator(wxFILTER_NUMERIC)); + m_tiEnd->GetTextCtrl()->SetValidator(wxTextValidator(wxFILTER_NUMERIC)); end_length_sizer->Add(end_length_text, 0, wxALL | wxALIGN_CENTER_VERTICAL, FromDIP(2)); end_length_sizer->Add(m_tiEnd , 0, wxALL | wxALIGN_CENTER_VERTICAL, FromDIP(2)); settings_sizer->Add(end_length_sizer, 0, wxLEFT, FromDIP(3)); @@ -777,7 +777,7 @@ Retraction_Test_Dlg::Retraction_Test_Dlg(wxWindow* parent, wxWindowID id, Plater auto length_step_sizer = new wxBoxSizer(wxHORIZONTAL); auto length_step_text = new wxStaticText(this, wxID_ANY, length_step_str, wxDefaultPosition, st_size, wxALIGN_LEFT); m_tiStep = new TextInput(this, wxString::FromDouble(0.1), _L("mm"), "", wxDefaultPosition, ti_size); - m_tiStart->GetTextCtrl()->SetValidator(wxTextValidator(wxFILTER_NUMERIC)); + m_tiStep->GetTextCtrl()->SetValidator(wxTextValidator(wxFILTER_NUMERIC)); length_step_sizer->Add(length_step_text, 0, wxALL | wxALIGN_CENTER_VERTICAL, FromDIP(2)); length_step_sizer->Add(m_tiStep , 0, wxALL | wxALIGN_CENTER_VERTICAL, FromDIP(2)); settings_sizer->Add(length_step_sizer, 0, wxLEFT, FromDIP(3)); @@ -855,7 +855,7 @@ Input_Shaping_Freq_Test_Dlg::Input_Shaping_Freq_Test_Dlg(wxWindow* parent, wxWin auto labeled_box_model = new LabeledStaticBox(this, _L("Test model")); auto model_box = new wxStaticBoxSizer(labeled_box_model, wxHORIZONTAL); - m_rbModel = new RadioGroup(this, { _L("Ringing Tower"), _L("Fast Tower") }, wxHORIZONTAL); + m_rbModel = new RadioGroup(this, { _L("Ringing Tower"), _L("Fast Tower") }, wxVERTICAL); model_box->Add(m_rbModel, 0, wxALL | wxEXPAND, FromDIP(4)); v_sizer->Add(model_box, 0, wxTOP | wxRIGHT | wxLEFT | wxEXPAND, FromDIP(10)); @@ -897,7 +897,7 @@ Input_Shaping_Freq_Test_Dlg::Input_Shaping_Freq_Test_Dlg(wxWindow* parent, wxWin wxString y_axis_str = "Y " + _L("Start / End") + ": "; int text_max = GetTextMax(this, std::vector{x_axis_str, y_axis_str}); - auto st_size = FromDIP(wxSize(text_max, -1)); + auto st_size = wxSize(text_max, -1); auto ti_size = FromDIP(wxSize(120, -1)); LabeledStaticBox* stb = new LabeledStaticBox(this, _L("Frequency settings")); @@ -958,6 +958,7 @@ Input_Shaping_Freq_Test_Dlg::Input_Shaping_Freq_Test_Dlg(wxWindow* parent, wxWin auto note_text = new wxStaticText(this, wxID_ANY, _L("Recommended: Set Damp to 0.\nThis will use the printer's default or saved value."), wxDefaultPosition, wxDefaultSize, wxALIGN_LEFT); note_text->SetForegroundColour(wxColour(128, 128, 128)); + note_text->Wrap(FromDIP(350)); settings_sizer->Add(note_text, 0, wxALL, FromDIP(5)); settings_sizer->AddSpacer(FromDIP(5)); @@ -1071,7 +1072,7 @@ Input_Shaping_Damp_Test_Dlg::Input_Shaping_Damp_Test_Dlg(wxWindow* parent, wxWin auto labeled_box_model = new LabeledStaticBox(this, _L("Test model")); auto model_box = new wxStaticBoxSizer(labeled_box_model, wxHORIZONTAL); - m_rbModel = new RadioGroup(this, { _L("Ringing Tower"), _L("Fast Tower") }, wxHORIZONTAL); + m_rbModel = new RadioGroup(this, { _L("Ringing Tower"), _L("Fast Tower") }, wxVERTICAL); model_box->Add(m_rbModel, 0, wxALL | wxEXPAND, FromDIP(4)); v_sizer->Add(model_box, 0, wxTOP | wxRIGHT | wxLEFT | wxEXPAND, FromDIP(10)); @@ -1113,7 +1114,7 @@ Input_Shaping_Damp_Test_Dlg::Input_Shaping_Damp_Test_Dlg(wxWindow* parent, wxWin wxString damp_str = _L("Damp") + " " + _L("Start / End") + ": "; int text_max = GetTextMax(this, std::vector{freq_str, damp_str}); - auto st_size = FromDIP(wxSize(text_max, -1)); + auto st_size = wxSize(text_max, -1); auto ti_size = FromDIP(wxSize(120, -1)); LabeledStaticBox* stb = new LabeledStaticBox(this, _L("Frequency settings")); @@ -1258,13 +1259,14 @@ Cornering_Test_Dlg::Cornering_Test_Dlg(wxWindow* parent, wxWindowID id, Plater* auto labeled_box_model = new LabeledStaticBox(this, _L("Test model")); auto model_box = new wxStaticBoxSizer(labeled_box_model, wxHORIZONTAL); - m_rbModel = new RadioGroup(this, { _L("Ringing Tower"), _L("Fast Tower"), _L("SCV-V2") }, wxHORIZONTAL); + m_rbModel = new RadioGroup(this, { _L("Ringing Tower"), _L("Fast Tower"), _L("SCV-V2") }, wxVERTICAL); model_box->Add(m_rbModel, 0, wxALL | wxEXPAND, FromDIP(4)); v_sizer->Add(model_box, 0, wxTOP | wxRIGHT | wxLEFT | wxEXPAND, FromDIP(10)); // Settings wxString start_jd_str = _L("Start: "); wxString end_jd_str = _L("End: "); + int text_max = GetTextMax(this, std::vector{start_jd_str, end_jd_str}); LabeledStaticBox* stb = new LabeledStaticBox(this, _L("Cornering settings")); wxStaticBoxSizer* settings_sizer = new wxStaticBoxSizer(stb, wxVERTICAL); @@ -1297,61 +1299,63 @@ Cornering_Test_Dlg::Cornering_Test_Dlg(wxWindow* parent, wxWindowID id, Plater* units_str = "mm/s"; } + auto st_size = wxSize(text_max, -1); auto ti_size = FromDIP(wxSize(120, -1)); - // Start and End cornering on same row - auto cornering_row_sizer = new wxBoxSizer(wxHORIZONTAL); - // Start cornering auto start_jd_sizer = new wxBoxSizer(wxHORIZONTAL); - auto start_jd_text = new wxStaticText(this, wxID_ANY, start_jd_str, wxDefaultPosition, wxDefaultSize, wxALIGN_LEFT); + auto start_jd_text = new wxStaticText(this, wxID_ANY, start_jd_str, wxDefaultPosition, st_size, wxALIGN_LEFT); m_tiJDStart = new TextInput(this, start_value_str, units_str, "", wxDefaultPosition, ti_size); m_tiJDStart->GetTextCtrl()->SetValidator(wxTextValidator(wxFILTER_NUMERIC)); start_jd_sizer->Add(start_jd_text, 0, wxALL | wxALIGN_CENTER_VERTICAL, FromDIP(2)); start_jd_sizer->Add(m_tiJDStart , 0, wxALL | wxALIGN_CENTER_VERTICAL, FromDIP(2)); - cornering_row_sizer->Add(start_jd_sizer, 0, wxLEFT, FromDIP(3)); + settings_sizer->Add(start_jd_sizer, 0, wxLEFT, FromDIP(3)); // End cornering auto end_jd_sizer = new wxBoxSizer(wxHORIZONTAL); - auto end_jd_text = new wxStaticText(this, wxID_ANY, end_jd_str, wxDefaultPosition, wxDefaultSize, wxALIGN_LEFT); + auto end_jd_text = new wxStaticText(this, wxID_ANY, end_jd_str, wxDefaultPosition, st_size, wxALIGN_LEFT); m_tiJDEnd = new TextInput(this, end_value_str, units_str, "", wxDefaultPosition, ti_size); m_tiJDEnd->GetTextCtrl()->SetValidator(wxTextValidator(wxFILTER_NUMERIC)); end_jd_sizer->Add(end_jd_text, 0, wxALL | wxALIGN_CENTER_VERTICAL, FromDIP(2)); end_jd_sizer->Add(m_tiJDEnd , 0, wxALL | wxALIGN_CENTER_VERTICAL, FromDIP(2)); - cornering_row_sizer->Add(end_jd_sizer, 0, wxLEFT, FromDIP(3)); - - settings_sizer->Add(cornering_row_sizer, 0, wxLEFT, FromDIP(3)); + settings_sizer->Add(end_jd_sizer, 0, wxLEFT, FromDIP(3)); settings_sizer->AddSpacer(FromDIP(5)); // Add note about cornering based on GCode Flavor - wxString note_msg = _L("Note: Lower values = sharper corners but slower speeds.\n"); + wxString note_msg = _L("Note: Lower values = sharper corners but slower speeds."); + auto note_text = new wxStaticText(this, wxID_ANY, note_msg, wxDefaultPosition, wxDefaultSize, wxALIGN_LEFT); + note_text->SetForegroundColour(wxColour(128, 128, 128)); + note_text->Wrap(FromDIP(300)); + settings_sizer->Add(note_text, 0, wxALL, FromDIP(5)); + if (gcode_flavor_option) { + wxString note_msg_2; switch (gcode_flavor_option->value) { case GCodeFlavor::gcfMarlinFirmware: { // Check if machine_max_junction_deviation is set and > 0 const auto* max_jd_option = preset_bundle->printers.get_edited_preset().config.option("machine_max_junction_deviation"); if (max_jd_option && !max_jd_option->values.empty() && max_jd_option->values[0] > 0) { - note_msg += _L("Marlin 2 Junction Deviation detected:\nTo test Classic Jerk, set 'Maximum Junction Deviation' in Motion ability to 0."); + note_msg_2 += _L("Marlin 2 Junction Deviation detected:\nTo test Classic Jerk, set 'Maximum Junction Deviation' in Motion ability to 0."); } else { - note_msg += _L("Marlin 2 Classic Jerk detected:\nTo test Junction Deviation, set 'Maximum Junction Deviation' in Motion ability to a value > 0."); + note_msg_2 += _L("Marlin 2 Classic Jerk detected:\nTo test Junction Deviation, set 'Maximum Junction Deviation' in Motion ability to a value > 0."); } break; } case GCodeFlavor::gcfRepRapFirmware: - note_msg += _L("RepRap detected: Jerk in mm/s.\nOrcaSlicer will convert the values to mm/min when necessary."); + note_msg_2 += _L("RepRap detected: Jerk in mm/s.\nOrcaSlicer will convert the values to mm/min when necessary."); break; default: break; } + if(!note_msg_2.empty()){ + auto note_text_2 = new wxStaticText(this, wxID_ANY, note_msg_2, wxDefaultPosition, wxDefaultSize, wxALIGN_LEFT); + note_text_2->SetForegroundColour(wxColour(128, 128, 128)); + note_text_2->Wrap(FromDIP(300)); + settings_sizer->Add(note_text_2, 0, wxALL, FromDIP(5)); + } } - auto note_text = new wxStaticText(this, wxID_ANY, note_msg, - wxDefaultPosition, wxDefaultSize, wxALIGN_LEFT); - note_text->SetForegroundColour(wxColour(128, 128, 128)); - note_text->Wrap(FromDIP(300)); - settings_sizer->Add(note_text, 0, wxALL, FromDIP(5)); - v_sizer->Add(settings_sizer, 0, wxTOP | wxRIGHT | wxLEFT | wxEXPAND, FromDIP(10)); v_sizer->AddSpacer(FromDIP(5));