mirror of
https://github.com/OrcaSlicer/OrcaSlicer.git
synced 2026-09-23 17:02:39 +00:00
Compare commits
7
Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
8b2ae48e4a | ||
|
|
8095904bc2 | ||
|
|
b7c86befe1 | ||
|
|
526a91d323 | ||
|
|
493896260e | ||
|
|
ca83497bb6 | ||
|
|
6a985744c4 |
@@ -5,9 +5,8 @@
|
||||
# re-sliced on its own to see whether it changes the G-code
|
||||
# harness - the GUI-vs-CLI parity harness (metrics only, never fails)
|
||||
# Both test the latest successful build_all.yml Linux AppImage from main, with
|
||||
# sources checked out at the commit that build was made from; a manual run can
|
||||
# name another branch, or pin one build by its run id. Nothing here gates a
|
||||
# build or a PR.
|
||||
# sources checked out at the commit that build was made from. Nothing here
|
||||
# gates a build or a PR.
|
||||
name: Parity Nightly
|
||||
|
||||
on:
|
||||
@@ -21,13 +20,9 @@ on:
|
||||
required: false
|
||||
default: "main"
|
||||
build_branch:
|
||||
description: "branch whose newest successful build_all artifact to test (a PR build is the PR merged into its base; sources are checked out at the PR head)"
|
||||
description: "branch whose latest successful build_all artifact to test"
|
||||
required: false
|
||||
default: "main"
|
||||
build_run_id:
|
||||
description: "build_all run id to test instead of build_branch's newest (same PR caveat)"
|
||||
required: false
|
||||
default: ""
|
||||
fixtures:
|
||||
description: "harness fixture ids, space-separated (empty = all)"
|
||||
required: false
|
||||
@@ -55,53 +50,14 @@ jobs:
|
||||
env:
|
||||
GH_TOKEN: ${{ github.token }}
|
||||
GH_REPO: ${{ github.repository }}
|
||||
BRANCH: ${{ inputs.build_branch || 'main' }}
|
||||
RUN_ID: ${{ inputs.build_run_id }}
|
||||
SCHEDULED: ${{ github.event_name == 'schedule' }}
|
||||
run: |
|
||||
set -euo pipefail
|
||||
if [ -n "$RUN_ID" ]; then
|
||||
[[ $RUN_ID =~ ^[0-9]+$ ]] || { echo "build_run_id must be a numeric run id, got '$RUN_ID'" >&2; exit 1; }
|
||||
# a pinned build is read directly, not through a search; it must come
|
||||
# from this repository, because the later jobs check out its commit here
|
||||
found=$(gh api "repos/$GH_REPO/actions/runs/$RUN_ID" --jq \
|
||||
'select(.path == ".github/workflows/build_all.yml" and .conclusion == "success"
|
||||
and .head_repository.full_name == env.GH_REPO)
|
||||
| "\(.id) \(.head_sha) \(.created_at)"')
|
||||
[ -n "$found" ] || { echo "run $RUN_ID is not a successful build_all run of $GH_REPO" >&2; exit 1; }
|
||||
else
|
||||
# GitHub serves filtered run listings (branch=, status=, head_sha=, ...)
|
||||
# from a search index that has returned weeks-old results, while the
|
||||
# unfiltered listing stays current, so list unfiltered and filter here.
|
||||
# The repository check keeps out fork PRs whose branch has the same
|
||||
# name. A feature branch is normally built only for its PR, and a PR
|
||||
# build compiles the PR merged into its base rather than head_sha, so
|
||||
# a build of the branch itself (push or dispatch) is preferred when
|
||||
# the same page has one.
|
||||
pick='([.workflow_runs[] | select(.head_branch == env.BRANCH and .conclusion == "success"
|
||||
and .head_repository.full_name == env.GH_REPO)]
|
||||
| map(select(.event != "pull_request"))[0] // .[0])
|
||||
| select(.) | "\(.id) \(.head_sha) \(.created_at)"'
|
||||
# a page of 100 runs spans about a day and a half; a manual run may
|
||||
# target a branch that last built weeks ago
|
||||
pages=3
|
||||
if [ "$SCHEDULED" != true ]; then pages=20; fi
|
||||
found=""
|
||||
for page in $(seq "$pages"); do
|
||||
found=$(gh api "repos/$GH_REPO/actions/workflows/build_all.yml/runs?per_page=100&page=$page" --jq "$pick")
|
||||
if [ -n "$found" ]; then break; fi
|
||||
done
|
||||
[ -n "$found" ] || { echo "no successful $BRANCH build among the last $((pages * 100)) build_all runs; pass build_run_id to test an older one" >&2; exit 1; }
|
||||
fi
|
||||
read -r run_id head_sha created <<< "$found"
|
||||
# the nightly fails rather than report on a stale build
|
||||
if [ "$SCHEDULED" = true ] && [ $(( $(date +%s) - $(date -d "$created" +%s) )) -gt 172800 ]; then
|
||||
echo "newest $BRANCH build $run_id is from $created, over 48 hours old" >&2
|
||||
exit 1
|
||||
fi
|
||||
printf 'run_id=%s\nhead_sha=%s\n' "$run_id" "$head_sha" >> "$GITHUB_OUTPUT"
|
||||
gh run list --workflow build_all.yml \
|
||||
--branch "${{ inputs.build_branch || 'main' }}" \
|
||||
--status success --limit 1 --json databaseId,headSha \
|
||||
--jq '"run_id=\(.[0].databaseId)\nhead_sha=\(.[0].headSha)"' \
|
||||
>> "$GITHUB_OUTPUT"
|
||||
cat "$GITHUB_OUTPUT"
|
||||
echo "Testing build [$run_id](https://github.com/$GH_REPO/actions/runs/$run_id) of \`$head_sha\`, built $created" >> "$GITHUB_STEP_SUMMARY"
|
||||
|
||||
effect:
|
||||
name: Override sweep effect stage (shard ${{ matrix.shard }})
|
||||
|
||||
+1
-42
@@ -826,37 +826,6 @@ find_package(OpenSSL REQUIRED)
|
||||
find_package(CURL REQUIRED)
|
||||
find_package(Freetype REQUIRED)
|
||||
|
||||
if (SLIC3R_GUI)
|
||||
# LibDataChannel's installed export references its bundled dependencies,
|
||||
# but does not install their CMake targets. Recreate those targets from
|
||||
# the same dependency prefix before loading the LibDataChannel config.
|
||||
if (NOT TARGET Usrsctp::usrsctp)
|
||||
find_library(_ORCA_USRSCTP_LIBRARY NAMES usrsctp
|
||||
PATHS "${CMAKE_PREFIX_PATH}/lib" NO_DEFAULT_PATH)
|
||||
if (_ORCA_USRSCTP_LIBRARY)
|
||||
add_library(Usrsctp::usrsctp UNKNOWN IMPORTED GLOBAL)
|
||||
set_target_properties(Usrsctp::usrsctp PROPERTIES
|
||||
IMPORTED_LOCATION "${_ORCA_USRSCTP_LIBRARY}"
|
||||
IMPORTED_LINK_INTERFACE_LANGUAGES C
|
||||
INTERFACE_LINK_LIBRARIES "Threads::Threads")
|
||||
endif()
|
||||
endif()
|
||||
|
||||
if (NOT TARGET LibJuice::LibJuice)
|
||||
find_library(_ORCA_LIBJUICE_LIBRARY NAMES juice
|
||||
PATHS "${CMAKE_PREFIX_PATH}/lib" NO_DEFAULT_PATH)
|
||||
if (_ORCA_LIBJUICE_LIBRARY)
|
||||
add_library(LibJuice::LibJuice UNKNOWN IMPORTED GLOBAL)
|
||||
set_target_properties(LibJuice::LibJuice PROPERTIES
|
||||
IMPORTED_LOCATION "${_ORCA_LIBJUICE_LIBRARY}"
|
||||
IMPORTED_LINK_INTERFACE_LANGUAGES C
|
||||
INTERFACE_LINK_LIBRARIES "Threads::Threads")
|
||||
endif()
|
||||
endif()
|
||||
|
||||
find_package(LibDataChannel CONFIG REQUIRED)
|
||||
endif()
|
||||
|
||||
|
||||
add_library(libcurl INTERFACE)
|
||||
target_link_libraries(libcurl INTERFACE CURL::libcurl)
|
||||
@@ -1137,7 +1106,6 @@ function(orcaslicer_copy_dlls target config postfix output_dlls)
|
||||
endif ()
|
||||
file(COPY ${_occt_dlls}
|
||||
${CMAKE_PREFIX_PATH}/bin/freetype.dll
|
||||
${CMAKE_PREFIX_PATH}/bin/avformat-61.dll
|
||||
${CMAKE_PREFIX_PATH}/bin/avcodec-61.dll
|
||||
${CMAKE_PREFIX_PATH}/bin/swresample-5.dll
|
||||
${CMAKE_PREFIX_PATH}/bin/swscale-8.dll
|
||||
@@ -1150,7 +1118,6 @@ function(orcaslicer_copy_dlls target config postfix output_dlls)
|
||||
${_out_dir}/WebView2Loader.dll
|
||||
|
||||
${_out_dir}/freetype.dll
|
||||
${_out_dir}/avformat-61.dll
|
||||
${_out_dir}/avcodec-61.dll
|
||||
${_out_dir}/swresample-5.dll
|
||||
${_out_dir}/swscale-8.dll
|
||||
@@ -1174,10 +1141,7 @@ function(orcaslicer_copy_sos target config postfix output_sos)
|
||||
set(_out_dir "${CMAKE_CURRENT_BINARY_DIR}")
|
||||
endif ()
|
||||
|
||||
file(COPY ${CMAKE_PREFIX_PATH}/lib/libavformat.so
|
||||
${CMAKE_PREFIX_PATH}/lib/libavformat.so.61
|
||||
${CMAKE_PREFIX_PATH}/lib/libavformat.so.61.1.100
|
||||
${CMAKE_PREFIX_PATH}/lib/libavcodec.so
|
||||
file(COPY ${CMAKE_PREFIX_PATH}/lib/libavcodec.so
|
||||
${CMAKE_PREFIX_PATH}/lib/libavcodec.so.61
|
||||
${CMAKE_PREFIX_PATH}/lib/libavcodec.so.61.3.100
|
||||
${CMAKE_PREFIX_PATH}/lib/libavutil.so
|
||||
@@ -1192,9 +1156,6 @@ function(orcaslicer_copy_sos target config postfix output_sos)
|
||||
DESTINATION ${_out_dir})
|
||||
|
||||
set(${output_sos}
|
||||
${_out_dir}/libavformat.so
|
||||
${_out_dir}/libavformat.so.61
|
||||
${_out_dir}/libavformat.so.61.1.100
|
||||
${_out_dir}/libavcodec.so
|
||||
${_out_dir}/libavcodec.so.61
|
||||
${_out_dir}/libavcodec.so.61.3.100
|
||||
@@ -1324,8 +1285,6 @@ endif ()
|
||||
|
||||
if (CMAKE_SYSTEM_NAME STREQUAL "Linux")
|
||||
set(LIBRARY_FILES
|
||||
${LIBDIR_BIN}/libavformat.so.61
|
||||
${LIBDIR_BIN}/libavformat.so.61.1.100
|
||||
${LIBDIR_BIN}/libavcodec.so.61
|
||||
${LIBDIR_BIN}/libavcodec.so.61.3.100
|
||||
${LIBDIR_BIN}/libavutil.so.59
|
||||
|
||||
Vendored
+11
-23
@@ -156,7 +156,7 @@ if (NOT _is_multi AND NOT CMAKE_BUILD_TYPE)
|
||||
endif ()
|
||||
|
||||
function(orcaslicer_add_cmake_project projectname)
|
||||
cmake_parse_arguments(P_ARGS "FORWARD_CONFIG" "INSTALL_DIR;BUILD_COMMAND;INSTALL_COMMAND;SOURCE_DIR" "CMAKE_ARGS" ${ARGN})
|
||||
cmake_parse_arguments(P_ARGS "FORWARD_CONFIG" "INSTALL_DIR;BUILD_COMMAND;INSTALL_COMMAND" "CMAKE_ARGS" ${ARGN})
|
||||
|
||||
# MSVC is true for clang-cl as well, so the sub-build toolchain has to key on the
|
||||
# generator. A non-Visual-Studio superbuild passes its own generator down, and with
|
||||
@@ -202,18 +202,12 @@ function(orcaslicer_add_cmake_project projectname)
|
||||
set(_build_j "-j${NPROC}")
|
||||
endif ()
|
||||
|
||||
set(_source_dir_arg "")
|
||||
if (P_ARGS_SOURCE_DIR)
|
||||
set(_source_dir_arg SOURCE_DIR ${P_ARGS_SOURCE_DIR})
|
||||
endif ()
|
||||
|
||||
if (NOT IS_CROSS_COMPILE OR NOT APPLE)
|
||||
ExternalProject_Add(
|
||||
dep_${projectname}
|
||||
EXCLUDE_FROM_ALL ON
|
||||
INSTALL_DIR ${DESTDIR}
|
||||
DOWNLOAD_DIR ${DEP_DOWNLOAD_DIR}/${projectname}
|
||||
${_source_dir_arg}
|
||||
${_gen}
|
||||
CMAKE_ARGS
|
||||
-DCMAKE_POLICY_VERSION_MINIMUM=3.5
|
||||
@@ -246,14 +240,12 @@ if (NOT IS_CROSS_COMPILE OR NOT APPLE)
|
||||
# note for future devs: shared libs may actually create a size reduction
|
||||
# but orcaslicer_deps tends to get really funny regarding linking after that (notably boost)
|
||||
# so, as much as I would like to use that, it's not happening
|
||||
if (NOT P_ARGS_SOURCE_DIR)
|
||||
ExternalProject_Add_Step(dep_${projectname} free_download_space
|
||||
DEPENDEES download # do after download
|
||||
COMMENT "Freeing Space: Removing source archive"
|
||||
WORKING_DIRECTORY ${DEP_DOWNLOAD_DIR}
|
||||
COMMAND ${CMAKE_COMMAND} -E rm -rf ${projectname}
|
||||
)
|
||||
endif ()
|
||||
ExternalProject_Add_Step(dep_${projectname} free_download_space
|
||||
DEPENDEES download # do after download
|
||||
COMMENT "Freeing Space: Removing source archive"
|
||||
WORKING_DIRECTORY ${DEP_DOWNLOAD_DIR}
|
||||
COMMAND ${CMAKE_COMMAND} -E rm -r ${projectname}
|
||||
)
|
||||
ExternalProject_Add_Step(dep_${projectname} free_build_space
|
||||
DEPENDEES install # do after install
|
||||
COMMENT "Freeing Space: Removing source and build files"
|
||||
@@ -267,7 +259,6 @@ else()
|
||||
EXCLUDE_FROM_ALL ON
|
||||
INSTALL_DIR ${DESTDIR}
|
||||
DOWNLOAD_DIR ${DEP_DOWNLOAD_DIR}/${projectname}
|
||||
${_source_dir_arg}
|
||||
${_gen}
|
||||
CMAKE_ARGS
|
||||
-DCMAKE_POLICY_VERSION_MINIMUM=3.5
|
||||
@@ -395,6 +386,10 @@ include(libnoise/libnoise.cmake)
|
||||
|
||||
include(Draco/Draco.cmake)
|
||||
|
||||
include(FFMPEG/FFMPEG.cmake)
|
||||
include(Assimp/Assimp.cmake)
|
||||
|
||||
|
||||
# I *think* 1.1 is used for *just* md5 hashing?
|
||||
# 3.1 has everything in the right place, but the md5 funcs used are deprecated
|
||||
# a grep across the repo shows it is used for other things
|
||||
@@ -405,12 +400,6 @@ if(NOT OPENSSL_FOUND)
|
||||
set(OPENSSL_PKG dep_OpenSSL)
|
||||
endif()
|
||||
|
||||
include(FFMPEG/FFMPEG.cmake)
|
||||
include(Assimp/Assimp.cmake)
|
||||
|
||||
include(DataChannel/DataChannel.cmake)
|
||||
set(DATACHANNEL_PKG dep_DataChannel)
|
||||
|
||||
# we don't want to load a "wrong" openssl when loading curl
|
||||
# so, just don't even bother
|
||||
# ...i think this is how it works? change if wrong
|
||||
@@ -484,7 +473,6 @@ set(_dep_list
|
||||
dep_wxInspector
|
||||
dep_FFMPEG
|
||||
dep_Assimp
|
||||
${DATACHANNEL_PKG}
|
||||
)
|
||||
|
||||
if (MSVC)
|
||||
|
||||
Vendored
-37
@@ -1,37 +0,0 @@
|
||||
# libdatachannel is the native ICE/DTLS/SCTP implementation used by the
|
||||
# GUI WebRTC camera controller. Keep the source revision fixed: the signaling
|
||||
# protocol is evolving independently of this transport dependency.
|
||||
#
|
||||
# It vendors plog, usrsctp and libjuice as git submodules, which a plain
|
||||
# GitHub tag tarball does not include. The flatpak sandbox has no network
|
||||
# access during the build, so there the manifest itself clones the repo
|
||||
# (submodules and all) into the dependency download directory before the
|
||||
# sandbox closes. ExternalProject_Add is pointed at that existing checkout
|
||||
# instead of being given its own network-dependent download method.
|
||||
if (FLATPAK)
|
||||
set(_datachannel_source
|
||||
SOURCE_DIR ${DEP_DOWNLOAD_DIR}/DataChannel
|
||||
)
|
||||
else()
|
||||
set(_datachannel_source
|
||||
GIT_REPOSITORY https://github.com/paullouisageneau/libdatachannel.git
|
||||
GIT_TAG v0.24.5
|
||||
GIT_SHALLOW ON
|
||||
GIT_SUBMODULES_RECURSE ON
|
||||
)
|
||||
endif()
|
||||
|
||||
orcaslicer_add_cmake_project(DataChannel
|
||||
DEPENDS ${OPENSSL_PKG}
|
||||
CMAKE_ARGS
|
||||
-DNO_EXAMPLES=ON
|
||||
-DNO_TESTS=ON
|
||||
-DNO_WEBSOCKET=ON
|
||||
-DNO_MEDIA=ON
|
||||
-DUSE_NICE=OFF
|
||||
-DUSE_SYSTEM_JUICE=OFF
|
||||
-DUSE_SYSTEM_USRSCTP=OFF
|
||||
-DOPENSSL_ROOT_DIR:PATH=${DESTDIR}
|
||||
-DOPENSSL_USE_STATIC_LIBS=ON
|
||||
${_datachannel_source}
|
||||
)
|
||||
Vendored
+7
-23
@@ -1,26 +1,14 @@
|
||||
set(_conf_cmd ./configure)
|
||||
|
||||
set(_ffmpeg_depends)
|
||||
set(_ffmpeg_configure_command ${_conf_cmd})
|
||||
if (TARGET dep_OpenSSL)
|
||||
set(_ffmpeg_depends DEPENDS dep_OpenSSL)
|
||||
set(_ffmpeg_configure_command
|
||||
${CMAKE_COMMAND} -E env
|
||||
"PKG_CONFIG_PATH=${DESTDIR}/lib/pkgconfig:$ENV{PKG_CONFIG_PATH}"
|
||||
${_conf_cmd}
|
||||
)
|
||||
endif()
|
||||
|
||||
if (MSVC)
|
||||
set(_source_dir "${CMAKE_BINARY_DIR}/dep_FFMPEG-prefix/src/dep_FFMPEG")
|
||||
|
||||
set(PREBUILD_URL_arm64 "https://github.com/Noisyfox/FFmpeg-Builds-Orca/releases/download/autobuild-2026-09-18-16-50/ffmpeg-n7.0.3-33-g887d4b4919-winarm64-orca-shared-7.0.zip")
|
||||
set(PREBUILD_HASH_arm64 "da480cbb39680056de824c57ec4dc3bd577b479ebbc310ff1f9dc55cf014b4c1")
|
||||
set(PREBUILD_URL_x64 "https://github.com/Noisyfox/FFmpeg-Builds-Orca/releases/download/autobuild-2026-09-18-16-50/ffmpeg-n7.0.3-33-g887d4b4919-win64-orca-shared-7.0.zip")
|
||||
set(PREBUILD_HASH_x64 "85da19daf198f5548259d8aabb349db84997a3f6e6886d8d7764114add9c6dae")
|
||||
set(PREBUILD_URL_arm64 "https://github.com/Noisyfox/FFmpeg-Builds-Orca/releases/download/autobuild-2026-07-17-14-28/ffmpeg-n7.0.3-31-g9b6ffd74b5-winarm64-orca-shared-7.0.zip")
|
||||
set(PREBUILD_HASH_arm64 "12f4140279f2f8469885e1b5b2e8be9d788882914c21523cacd56989f3548054")
|
||||
set(PREBUILD_URL_x64 "https://github.com/Noisyfox/FFmpeg-Builds-Orca/releases/download/autobuild-2026-07-17-14-28/ffmpeg-n7.0.3-31-g9b6ffd74b5-win64-orca-shared-7.0.zip")
|
||||
set(PREBUILD_HASH_x64 "e65916020ddb9ef84b2666dfbcbfc9b1d67f69d15b4a66db53754637bf2d498c")
|
||||
|
||||
ExternalProject_Add(dep_FFMPEG
|
||||
${_ffmpeg_depends}
|
||||
URL ${PREBUILD_URL_${DEPS_ARCH}}
|
||||
URL_HASH SHA256=${PREBUILD_HASH_${DEPS_ARCH}}
|
||||
DOWNLOAD_DIR ${DEP_DOWNLOAD_DIR}/FFMPEG
|
||||
@@ -33,8 +21,6 @@ if (MSVC)
|
||||
)
|
||||
|
||||
else ()
|
||||
set(_openssl_cmd --enable-openssl)
|
||||
|
||||
if (APPLE)
|
||||
set(_minos_cmd
|
||||
"--extra-cflags=-mmacosx-version-min=${DEP_OSX_TARGET}"
|
||||
@@ -66,11 +52,10 @@ else ()
|
||||
endif()
|
||||
|
||||
ExternalProject_Add(dep_FFMPEG
|
||||
${_ffmpeg_depends}
|
||||
URL https://github.com/FFmpeg/FFmpeg/archive/refs/tags/n7.0.3.tar.gz
|
||||
URL_HASH SHA256=DEEDCABE339165214A3637DF4C86A507AEF0D793CF8774FF68735F4737E8DDBC
|
||||
DOWNLOAD_DIR ${DEP_DOWNLOAD_DIR}/FFMPEG
|
||||
CONFIGURE_COMMAND ${_ffmpeg_configure_command}
|
||||
CONFIGURE_COMMAND ${_conf_cmd}
|
||||
${_cross_cmd}
|
||||
${_pic_cmd}
|
||||
${_arch_cmd}
|
||||
@@ -78,21 +63,20 @@ else ()
|
||||
"--prefix=${DESTDIR}"
|
||||
${_link_cmd}
|
||||
${_minos_cmd}
|
||||
${_openssl_cmd}
|
||||
--disable-doc
|
||||
--enable-small
|
||||
--disable-outdevs
|
||||
--disable-filters
|
||||
--enable-filter=*null*,afade,*fifo,*format,*resample,aeval,allrgb,allyuv,atempo,pan,*bars,color,*key,crop,draw*,eq*,framerate,*_qsv,*_vaapi,*v4l2*,hw*,scale,volume,test*
|
||||
--disable-protocols
|
||||
--enable-protocol=file,fd,pipe,http,https,rtp,tcp,udp
|
||||
--enable-protocol=file,fd,pipe,rtp,udp
|
||||
--disable-muxers
|
||||
--enable-muxer=rtp
|
||||
--disable-encoders
|
||||
--disable-decoders
|
||||
--enable-decoder=*aac*,h264*,mp3*,mjpeg,rv*
|
||||
--disable-demuxers
|
||||
--enable-demuxer=h264,mp3,mov,mpjpeg,rtsp,sdp
|
||||
--enable-demuxer=h264,mp3,mov
|
||||
--disable-zlib
|
||||
--disable-avdevice
|
||||
BUILD_IN_SOURCE ON
|
||||
|
||||
@@ -0,0 +1,119 @@
|
||||
# G-code preview while dragging
|
||||
|
||||
The sliced preview draws every toolpath segment of the plate as an instanced box. On a large
|
||||
plate that is tens of millions of segments, and the frame is GPU-bound: the cost is the number of
|
||||
instances drawn, not anything the CPU does per frame. Dragging the camera over such a plate cannot
|
||||
keep up. The `preview_reduced_detail_mode` preference (*Graphics > G-code Preview*, off by
|
||||
default) lets the preview draw less while the user drags and put the full toolpaths back when they
|
||||
let go.
|
||||
|
||||
| Preference | Values | Effect |
|
||||
|---|---|---|
|
||||
| `preview_reduced_detail_mode` | `off`, `solid`, `layers`, `outer_walls`, `shell` | what is drawn while dragging |
|
||||
| `preview_reduced_detail_layer_stride` | 1–20 | one layer in every N is kept by the toolpath modes |
|
||||
|
||||
libvgcode (`src/libvgcode`) builds and binds the reduced toolpath set, `GCodeViewer` maps the
|
||||
preferences onto it and draws the solid model, and `GLCanvas3D` decides when the user is dragging.
|
||||
The OpenGL ES path keeps a single set and ignores the preference.
|
||||
|
||||
## Two sets, one walk
|
||||
|
||||
`ViewerImpl::update_enabled_entities()` walks the visible vertex range once and fills two segment
|
||||
index buffers side by side: the **full** set and the **reduced** set (segments and options).
|
||||
Building them together is what makes switching free: starting or ending a drag is a buffer
|
||||
binding, never a rebuild. A change of mode or stride does rebuild. Nothing is built while the mode
|
||||
is off, and the reduced buffers are then uploaded empty so that the last set does not stay
|
||||
allocated.
|
||||
|
||||
Whatever the mode leaves out, the bottom and top layers of the visible range are kept whole: they
|
||||
are the faces the range cuts open, and the top is what the user is looking at.
|
||||
|
||||
### Modes
|
||||
|
||||
- `EndLayersOnly` (`solid` in the preference) keeps only the two end layers. `GCodeViewer` then
|
||||
draws the sliced objects and the prime tower as opaque solids, see below.
|
||||
- `LayersOnly` (`layers`) keeps every role of one layer in every stride.
|
||||
- `OuterWallsOnly` (`outer_walls`) keeps the outer and overhang perimeters of one layer in every
|
||||
stride. The prime tower and supports have other roles and are left out.
|
||||
- `ShellOnly` (`shell`) keeps what the shell extraction below marks as visible surface, of one
|
||||
layer in every stride, plus whatever a view from above or below sees of the skipped layers, so
|
||||
that a step does not vanish. It is the only mode that knows the prime tower's outside from its
|
||||
inside.
|
||||
|
||||
## The solid model
|
||||
|
||||
The preview already loads the sliced objects as shells for its translucent ghost.
|
||||
`GCodeViewer::render_solid_model()` draws those shells opaque, in their filament colors, with the
|
||||
`gouraud` shader, whose z range cuts them to the visible layer range. The two toolpath layers of
|
||||
the reduced set are drawn afterwards and cap the cut with what was really printed there. The
|
||||
shells hold only the objects, so while this mode is on the prime tower is added from its sliced
|
||||
mesh, positioned as the print placed it. It is added or removed on its own when the mode changes,
|
||||
without reloading the objects, keeps its opaque color so that it never appears among the
|
||||
translucent shells, and stays out of their bounding box. Supports have no mesh and are not shown,
|
||||
and `load_shells()` drops every non-model-part volume, so a negative volume is not cut out.
|
||||
|
||||
A plate whose shells are not loaded keeps drawing toolpaths, since the solid model would leave
|
||||
only the end layers.
|
||||
|
||||
## Shell extraction
|
||||
|
||||
`ViewerImpl::update_shell_bitset()` classifies every extrusion segment once per load, on demand
|
||||
the first time the shell mode needs it, and records the result in four bit sets. It is purely
|
||||
geometric so that the wipe tower, whose every segment shares one role, works as well as the
|
||||
objects.
|
||||
|
||||
Each layer is rasterized into a coarse 2D **occupancy grid** over the print's footprint: cells
|
||||
are 0.5 mm, or coarser so that the grid is at most 1024 cells across. The footprint is then
|
||||
**closed** with a radius of 2.5 mm so that sparse infill and support read as the solid area they
|
||||
belong to, while holes wider than 5 mm stay open. The closing dilates each 8-connected component
|
||||
separately and leaves a cell that two components both reach empty, so the gap between two objects
|
||||
standing close together is never bridged and both of their facing walls stay on the shell;
|
||||
fragments under eight cells do not spread and are absorbed by whatever reaches them. A separable
|
||||
erosion shrinks the result back, and the raw cells are OR-ed in again so that a closing never
|
||||
loses one.
|
||||
|
||||
A cell is a **shell cell** when it is filled and any of its six neighbours, four in the layer,
|
||||
one below, one above, is not. A segment is on the shell when at least half of the cells it
|
||||
crosses are shell cells: walls run along the shell, infill only touches it at the ends. The
|
||||
interior infill roles and gap fill are excluded regardless, since short infill segments hugging a
|
||||
wall would otherwise pass by the thousand.
|
||||
|
||||
Two refinements keep sloped surfaces closed:
|
||||
|
||||
- **Near-wall segments.** The step between one layer's outer wall and the next is often
|
||||
narrower than a cell. An inner wall (`Perimeter`) segment whose midpoint lies within a line and
|
||||
a half of an outer or overhang perimeter of the same layer is kept as well. So is any segment,
|
||||
whatever its role, whose midpoint lies within that reach, or a cell if larger, of an outer wall
|
||||
of the layer above or below: that strip is the exposed band of the step, which the cell tests
|
||||
cannot see when it is narrower than a cell.
|
||||
- **Top and bottom visibility.** The same pass records the highest and lowest layer occupying
|
||||
each cell over the whole print. A segment whose layer is the topmost occupant of any cell it
|
||||
crosses is visible from above, and likewise from below with the lowest. These segments are kept
|
||||
even when their layer is skipped by the stride.
|
||||
|
||||
The layer range is split across up to eight `std::async` workers, each owning its grids. An
|
||||
allocation failure on a huge print falls back to marking every segment as shell, which leaves out
|
||||
only the hidden infill roles.
|
||||
|
||||
## Deciding that the user is dragging
|
||||
|
||||
`GLCanvas3D::_update_preview_interaction()` runs at the top of every preview frame, before the
|
||||
canvas decides whether to reuse its cached scene, so that the switch lands in that frame. Dragging
|
||||
is `GLCanvas3D::is_user_interacting()`, the same answer the scene cache reads: the camera, the
|
||||
navigator, a gizmo, the rectangle selection or either slider being held. A slider reports this from
|
||||
ImGui's active id rather than its dirty flag, which is raised and consumed inside one frame. A
|
||||
wheel step has no duration, so it holds the reduced set for a 150 ms settle time instead, and the
|
||||
frame that restores the toolpaths is scheduled for when that time runs out, since the render timer
|
||||
only wakes the idle loop. A drag cut short by focus or capture loss is ended explicitly, and a
|
||||
button release wakes the idle loop, because on some platforms nothing else would until the next
|
||||
input.
|
||||
|
||||
## Reused scene frames
|
||||
|
||||
`GLCanvas3D` keeps its last scene pass for frames that only rebuild the overlay (`SceneCache`). Its
|
||||
key covers the canvas size, the camera and hover state, not what the toolpath sets draw, so a frame
|
||||
that reuses the scene must never be one on which the set is switched.
|
||||
`_update_preview_interaction()` therefore reports whether the bound set changed, and a frame on
|
||||
which it did redraws the scene. The canvas neither captures nor reuses the scene while the user
|
||||
drags, so no reduced frame outlives a drag, and the frame that ends a wheel's settle time is
|
||||
requested as a full frame.
|
||||
@@ -1,240 +0,0 @@
|
||||
# Printer agents
|
||||
|
||||
Printer agents isolate printer-specific communication from the rest of OrcaSlicer. The GUI and
|
||||
`DeviceManager` operate on a shared set of printer operations and device state; a selected printer
|
||||
agent implements those operations for a particular printer ecosystem. The agent boundary allows
|
||||
Bambu, Moonraker-based printers, built-in integrations, and Python-provided integrations to use the
|
||||
same application workflow without making the GUI understand every printer protocol.
|
||||
|
||||
The current boundary is an adapter boundary around the existing application contract. In particular,
|
||||
some request fields and message payloads still use the Bambu-shaped representation that existing
|
||||
`MachineObject` and `DeviceManager` code consumes. The printer agent is responsible for translating
|
||||
that representation into the protocol spoken by its printer. This is an intentional compatibility
|
||||
constraint of the current design; the interface is not yet a neutral printer protocol.
|
||||
|
||||
The v1 dialect migration path is deliberately narrow. `DeviceManager` currently speaks the Bambu JSON
|
||||
dialect because that is the payload shape already used throughout the command and state workflow. The
|
||||
v1 `OrcaPrinterAgent` also accepts that Bambu dialect. Its transport path places the small translation
|
||||
needed for the target printer at `deliver_to_sink`, keeping the compatibility code at the edge rather
|
||||
than spreading it through `DeviceManager` or the agent interface.
|
||||
|
||||
The eventual direction is for `DeviceManager` to produce an Orca JSON dialect. The Bambu agent will then
|
||||
own the translation from Orca JSON to Bambu's protocol, while `OrcaPrinterAgent` can forward the Orca
|
||||
payload directly to its sink. The v1 translation at `deliver_to_sink` can then be removed without
|
||||
changing `DeviceManager`, the command callers, or the rest of the agent workflow.
|
||||
|
||||
## Components
|
||||
|
||||
The system has four relevant layers:
|
||||
|
||||
```text
|
||||
GUI / DeviceManager / MachineObject
|
||||
|
|
||||
NetworkAgent
|
||||
/ \
|
||||
IPrinterAgent ICloudServiceAgent
|
||||
| |
|
||||
printer protocol authentication and cloud services
|
||||
```
|
||||
|
||||
### `DeviceManager` and `MachineObject`
|
||||
|
||||
`DeviceManager` owns the application-facing printer workflow. It maintains `MachineObject` instances,
|
||||
updates their state, filters devices for the active printer agent, and initiates operations such as
|
||||
homing, temperature changes, printing, subscriptions, and camera playback.
|
||||
|
||||
`MachineObject` remains the shared state model used by the GUI. It does not contain the implementation
|
||||
of a printer protocol. When a device is discovered or returned by a cloud query, the device is tagged
|
||||
with the active `printer_agent_id`. Device lists and selected-machine operations use that tag to avoid
|
||||
sending an operation through an agent that does not own the device.
|
||||
|
||||
### `NetworkAgent`
|
||||
|
||||
`NetworkAgent` is the façade used by the GUI and `DeviceManager`. It owns:
|
||||
|
||||
- the currently selected `IPrinterAgent`;
|
||||
- the registered cloud-service instances, indexed by provider;
|
||||
- callbacks shared by the active printer agent and the application;
|
||||
- the forwarding methods for printer commands and cloud operations.
|
||||
|
||||
There is one active printer agent for the currently selected printer preset. Switching the preset
|
||||
increments the machine-list generation, disconnects the old printer agent, removes its callbacks, and
|
||||
installs the newly selected agent. The façade then forwards printer operations to that agent.
|
||||
|
||||
Cloud operations are selected separately using a provider key. `NetworkAgent` forwards a cloud request
|
||||
to the matching `ICloudServiceAgent`, and forwards cloud camera operations with a device ID. The
|
||||
printer agent receives a cloud-agent pointer through `set_cloud_agent()` when it is created, allowing
|
||||
printer communication to obtain cloud tokens without depending on a concrete cloud implementation.
|
||||
|
||||
### `IPrinterAgent`
|
||||
|
||||
`IPrinterAgent` is the printer-facing contract. It covers:
|
||||
|
||||
- cloud-relay and direct-LAN message delivery;
|
||||
- LAN connection, discovery, binding, and certificates;
|
||||
- printer subscriptions and callbacks;
|
||||
- print operations;
|
||||
- filament synchronization;
|
||||
- camera capability and local camera URL reporting;
|
||||
- printer command methods.
|
||||
|
||||
Concrete built-in implementations include the Bambu wrapper, the native Orca/Moonraker path, and
|
||||
other printer-agent implementations registered by the application. A printer agent may use either
|
||||
the cloud agent, a direct LAN connection, or both.
|
||||
|
||||
### `ICloudServiceAgent`
|
||||
|
||||
`ICloudServiceAgent` owns authentication and services provided by a cloud backend. It covers login
|
||||
state, tokens, user and printer lists, settings synchronization, model services, cloud messages, and
|
||||
cloud camera operations.
|
||||
|
||||
Cloud camera operations are device-scoped:
|
||||
|
||||
- `get_camera_url(dev_id, callback)` obtains a stream URL for one device;
|
||||
- `create_camera_signaling_channel(dev_id)` creates signaling for one device where the provider
|
||||
supports it.
|
||||
|
||||
This is separate from the local camera URL exposed by `IPrinterAgent`, which is currently scoped to
|
||||
the active printer agent because a normal LAN agent represents one physical printer connection.
|
||||
|
||||
## Agent registration and selection
|
||||
|
||||
`NetworkAgentFactory` maintains the printer-agent registry. Each registry entry contains an agent ID,
|
||||
a display name, and a factory function. Built-in agents register during application initialization.
|
||||
Python printer-agent capabilities register dynamically and contribute an agent ID and factory entry.
|
||||
|
||||
The selected printer preset contains the printer-agent choice. If no explicit choice is stored, the
|
||||
application preserves the existing default behavior: Bambu presets select the Bambu agent and other
|
||||
presets select the native Orca agent. When a preset is changed, `GUI_App` resolves the effective agent
|
||||
ID, obtains the corresponding cloud agent, creates the printer agent through the registry, and installs
|
||||
it in `NetworkAgent`.
|
||||
|
||||
The registry rejects conflicting agent IDs. This matters for Python plugins because an agent ID is the
|
||||
stable identity used by presets and device ownership; two enabled plugin capabilities must not claim
|
||||
the same ID.
|
||||
|
||||
## Message and command flow
|
||||
|
||||
There are two low-level message paths:
|
||||
|
||||
- `send_message()` publishes a command through the printer's cloud relay;
|
||||
- `send_message_to_printer()` sends a command directly to the printer over the LAN path.
|
||||
|
||||
Both paths accept a JSON string, quality-of-service and flag values, and return the existing network
|
||||
status code domain. The agent owns the conversion from that JSON contract to its native transport.
|
||||
|
||||
The typed `command_*` methods are the application-facing convenience layer. The five generic defaults
|
||||
currently implemented by `IPrinterAgent` construct the existing JSON dialect and route through the
|
||||
same message path:
|
||||
|
||||
| Method | Default operation |
|
||||
| --- | --- |
|
||||
| `command_xyz_abs()` | Send `G90` for absolute positioning |
|
||||
| `command_auto_leveling()` | Send `G29` for bed leveling |
|
||||
| `command_go_home()` | Use the supported homing operation or send `G28` |
|
||||
| `command_set_bed()` | Use the supported bed control or send `M140` |
|
||||
| `command_set_nozzle()` | Send `M104` for nozzle temperature |
|
||||
|
||||
These are compatibility defaults for common printer workflows, not a guarantee that every firmware
|
||||
implements every command identically. An agent can override a method when its protocol needs another
|
||||
operation. For example, a Klipper configuration may use `BED_MESH_CALIBRATE` instead of `G29`.
|
||||
|
||||
The remaining common command methods default to `ORCA_NETWORK_ERR_CMD_NOT_SUPPORTED` because their
|
||||
existing behavior is vendor-specific or has no portable implementation:
|
||||
|
||||
- AMS RFID refresh;
|
||||
- AMS calibration;
|
||||
- AMS tray selection;
|
||||
- camera start;
|
||||
- axis control.
|
||||
|
||||
The methods remain on the common interface so an agent that supports them can override them explicitly.
|
||||
`sequence_id` remains part of the command contract because `DeviceManager` creates and tracks it as
|
||||
the command ID.
|
||||
|
||||
## Device ownership and stale responses
|
||||
|
||||
Printer-agent ownership is represented by `printer_agent_id` on device records and `MachineObject`
|
||||
instances. The active agent ID is attached when a device is discovered, returned by a cloud list, or
|
||||
reused after a preset switch. Local-machine configuration also persists the agent ID so a saved LAN
|
||||
device is not silently reused by an unrelated agent.
|
||||
|
||||
Cloud printer-list responses carry three pieces of request context added by `NetworkAgent`:
|
||||
|
||||
```text
|
||||
provider cloud provider used for the request
|
||||
agent_id active printer agent when the request was made
|
||||
generation machine-list generation when the request was made
|
||||
```
|
||||
|
||||
`DeviceManager` accepts the response only when those values still match the current provider, active
|
||||
agent, and generation. This prevents a slow response from the previous preset or provider from
|
||||
repopulating the current device list.
|
||||
|
||||
The provider mapping is currently selected by `GUI_App`: the Bambu agent maps to the Bambu cloud
|
||||
provider and other agents map to the Orca cloud provider. The generation check protects that existing
|
||||
selection from races; it does not make cloud-provider ownership intrinsic to an agent. Cloud-printer
|
||||
ownership and the broader Orca cloud services are therefore still separate architectural concerns.
|
||||
|
||||
## Python printer agents
|
||||
|
||||
`PrinterAgentPluginCapability` implements `IPrinterAgent` directly. The live capability object is
|
||||
registered with `NetworkAgentFactory` and handed out as the printer agent when its agent ID is selected.
|
||||
The plugin receives the selected `ICloudServiceAgent` through `set_cloud_agent()` just like a built-in
|
||||
printer agent.
|
||||
|
||||
Python plugins must implement the core communication and lifecycle methods required by the interface,
|
||||
including agent metadata, printer connection, discovery callbacks, and the two message-send methods.
|
||||
Methods that are meaningful only to a particular printer are optional overrides where the C++ base
|
||||
class provides a default.
|
||||
|
||||
All ten `command_*` methods are available in the Python binding and in the trampoline. Their override
|
||||
status is intentionally optional:
|
||||
|
||||
- the five generic commands use the C++ default when Python does not override them;
|
||||
- the five vendor-specific commands return `NOT_SUPPORTED` unless Python supplies an implementation;
|
||||
- a Python implementation can replace either behavior for its own protocol.
|
||||
|
||||
The Python camera binding exposes HTTP, HTTPS, RTSP, and HTTP-snapshot modes. WebRTC remains a
|
||||
built-in C++ camera mode, but is not exposed as a Python mode because the current Python capability
|
||||
does not provide the corresponding cloud signaling-channel contract.
|
||||
|
||||
## Camera playback boundary
|
||||
|
||||
The camera stream mode describes how a stream is obtained; it does not by itself define ownership of
|
||||
the wxWidgets view that renders it. `MediaPlayCtrl` selects and tears down the active backend, while
|
||||
the wx parent owns the child window or renderer. This is important because a web view, native media
|
||||
control, and frame-based/WebRTC renderer have different wx window-lifetime requirements.
|
||||
|
||||
Cloud URL and signaling requests are routed through `NetworkAgent` to the cloud provider selected for
|
||||
the device. Local URL requests are routed to the active printer agent. The distinction keeps cloud
|
||||
account services device-scoped while preserving the current one-LAN-agent/one-printer model.
|
||||
|
||||
## Compatibility constraints
|
||||
|
||||
The printer-agent boundary intentionally preserves several existing application contracts:
|
||||
|
||||
- Bambu-shaped JSON is still the shared command representation;
|
||||
- existing network status codes are reused, with Orca-specific unsupported/capability errors added
|
||||
in the Orca-reserved range;
|
||||
- `MachineObject` remains the shared device-state model;
|
||||
- preset and local-machine data retain compatibility with the existing agent-selection behavior;
|
||||
- Python plugins use the existing capability and pybind11 registration system.
|
||||
|
||||
The agent abstraction is therefore responsible for containing vendor differences, not for pretending
|
||||
that all vendor protocols are identical. The planned Orca JSON dialect is the protocol-neutral command
|
||||
model for the `DeviceManager`/agent boundary. Once it is introduced, Bambu-specific translation remains
|
||||
inside the Bambu agent and the Orca agent's v1 sink adapter can be removed as a self-contained cleanup.
|
||||
|
||||
## Main implementation locations
|
||||
|
||||
- [`IPrinterAgent`](../../src/slic3r/Utils/IPrinterAgent.hpp) — printer-agent contract and generic command defaults
|
||||
- [`ICloudServiceAgent`](../../src/slic3r/Utils/ICloudServiceAgent.hpp) — cloud service and per-device
|
||||
cloud camera contract
|
||||
- [`NetworkAgent`](../../src/slic3r/Utils/NetworkAgent.hpp) — façade and dispatch between active agents
|
||||
- [`NetworkAgentFactory`](../../src/slic3r/Utils/NetworkAgentFactory.hpp) — built-in and Python agent registry
|
||||
- [`DeviceManager`](../../src/slic3r/GUI/DeviceCore/DevManager.cpp) — device ownership, filtering, and
|
||||
stale-response checks
|
||||
- [`PrinterAgentPluginCapability`](../../src/slic3r/plugin/pluginTypes/printerAgent/PrinterAgentPluginCapability.cpp)
|
||||
— Python bindings
|
||||
- [`MediaPlayCtrl`](../../src/slic3r/GUI/MediaPlayCtrl.cpp) — camera backend selection and playback lifecycle
|
||||
+2881
-1
File diff suppressed because it is too large
Load Diff
+1
-1
@@ -3,7 +3,7 @@
|
||||
"name": "AliZ PA-CF @P1-X1",
|
||||
"inherits": "AliZ PA-CF @base",
|
||||
"from": "system",
|
||||
"setting_id": "cN0uesF0mZf3KSkj",
|
||||
"setting_id": "AliZ003_00",
|
||||
"instantiation": "true",
|
||||
"enable_pressure_advance": [
|
||||
"1"
|
||||
+1
-1
@@ -3,7 +3,7 @@
|
||||
"name": "AliZ PETG @P1-X1",
|
||||
"inherits": "AliZ PETG @base",
|
||||
"from": "system",
|
||||
"setting_id": "cZp23cC4ong9q6dn",
|
||||
"setting_id": "AliZ001_00",
|
||||
"instantiation": "true",
|
||||
"enable_pressure_advance": [
|
||||
"1"
|
||||
+1
-1
@@ -3,7 +3,7 @@
|
||||
"name": "AliZ PETG-CF @P1-X1",
|
||||
"inherits": "AliZ PETG-CF @base",
|
||||
"from": "system",
|
||||
"setting_id": "HWW5mejsB0SfEfWw",
|
||||
"setting_id": "AZ01-1_00",
|
||||
"instantiation": "true",
|
||||
"enable_pressure_advance": [
|
||||
"1"
|
||||
+1
-1
@@ -3,7 +3,7 @@
|
||||
"name": "AliZ PETG-Metal @P1-X1",
|
||||
"inherits": "AliZ PETG-Metal @base",
|
||||
"from": "system",
|
||||
"setting_id": "JqD0blE4fxaNfXqB",
|
||||
"setting_id": "AZ01-2_00",
|
||||
"instantiation": "true",
|
||||
"enable_pressure_advance": [
|
||||
"1"
|
||||
+1
-1
@@ -3,7 +3,7 @@
|
||||
"name": "AliZ PLA @P1-X1",
|
||||
"inherits": "AliZ PLA @base",
|
||||
"from": "system",
|
||||
"setting_id": "fRELapY8YiP4qrBW",
|
||||
"setting_id": "AliZ002_00",
|
||||
"instantiation": "true",
|
||||
"enable_pressure_advance": [
|
||||
"1"
|
||||
+1
-1
@@ -3,7 +3,7 @@
|
||||
"name": "BETA ABS @BBL A1",
|
||||
"inherits": "BETA ABS @base",
|
||||
"from": "system",
|
||||
"setting_id": "dUGRrmxU89pRaJ2Z",
|
||||
"setting_id": "BABB00_07",
|
||||
"instantiation": "true",
|
||||
"fan_max_speed": [
|
||||
"20"
|
||||
+1
-1
@@ -3,7 +3,7 @@
|
||||
"name": "BETA ABS @BBL H2D",
|
||||
"inherits": "BETA ABS @base",
|
||||
"from": "system",
|
||||
"setting_id": "oxZKTEMd8TpyoH39",
|
||||
"setting_id": "BABB00_11",
|
||||
"instantiation": "true",
|
||||
"chamber_temperatures": [
|
||||
"65"
|
||||
+1
-1
@@ -3,7 +3,7 @@
|
||||
"name": "BETA ABS @BBL P1P",
|
||||
"inherits": "BETA ABS @base",
|
||||
"from": "system",
|
||||
"setting_id": "MPYyfCKMsJZy8GaY",
|
||||
"setting_id": "BABB00_03",
|
||||
"instantiation": "true",
|
||||
"fan_max_speed": [
|
||||
"20"
|
||||
+1
-1
@@ -3,7 +3,7 @@
|
||||
"name": "BETA ABS @BBL X1C",
|
||||
"inherits": "BETA ABS @base",
|
||||
"from": "system",
|
||||
"setting_id": "vMA7EhgNDT4MwMRr",
|
||||
"setting_id": "BABB00",
|
||||
"instantiation": "true",
|
||||
"fan_max_speed": [
|
||||
"60"
|
||||
@@ -0,0 +1,21 @@
|
||||
{
|
||||
"type": "filament",
|
||||
"name": "BETA ABS @base",
|
||||
"inherits": "fdm_filament_abs",
|
||||
"from": "system",
|
||||
"filament_id": "OFjUXn67",
|
||||
"instantiation": "false",
|
||||
"description": "When printing this filament, there's a risk of warping and low layer adhesion strength. To get better results, please refer to this wiki: Printing Tips for High Temp / Engineering materials.",
|
||||
"filament_cost": [
|
||||
"24.99"
|
||||
],
|
||||
"filament_flow_ratio": [
|
||||
"0.95"
|
||||
],
|
||||
"filament_vendor": [
|
||||
"BETA"
|
||||
],
|
||||
"impact_strength_z": [
|
||||
"7.4"
|
||||
]
|
||||
}
|
||||
+1
-1
@@ -3,7 +3,7 @@
|
||||
"name": "BETA ASA @BBL A1 0.4 nozzle",
|
||||
"inherits": "BETA ASA @base",
|
||||
"from": "system",
|
||||
"setting_id": "LevRG7t9mTlEseaB",
|
||||
"setting_id": "BASB00_09",
|
||||
"instantiation": "true",
|
||||
"chamber_temperatures": [
|
||||
"60"
|
||||
+1
-1
@@ -3,7 +3,7 @@
|
||||
"name": "BETA ASA @BBL H2D 0.4 nozzle",
|
||||
"inherits": "BETA ASA @base",
|
||||
"from": "system",
|
||||
"setting_id": "3NBkWTXmqi8eRUhi",
|
||||
"setting_id": "BASB00_13",
|
||||
"instantiation": "true",
|
||||
"chamber_temperatures": [
|
||||
"65"
|
||||
+1
-1
@@ -3,7 +3,7 @@
|
||||
"name": "BETA ASA @BBL X1C 0.4 nozzle",
|
||||
"inherits": "BETA ASA @base",
|
||||
"from": "system",
|
||||
"setting_id": "0nWTEZkH7NKXgCib",
|
||||
"setting_id": "BASB00_02",
|
||||
"instantiation": "true",
|
||||
"chamber_temperatures": [
|
||||
"60"
|
||||
-48
@@ -53,53 +53,5 @@
|
||||
],
|
||||
"textured_plate_temp_initial_layer": [
|
||||
"100"
|
||||
],
|
||||
"activate_air_filtration": [
|
||||
"1"
|
||||
],
|
||||
"close_additional_fan_first_x_layers": [
|
||||
"3"
|
||||
],
|
||||
"retraction_distances_when_ec": [
|
||||
"0"
|
||||
],
|
||||
"slow_down_min_speed": [
|
||||
"20"
|
||||
],
|
||||
"temperature_vitrification": [
|
||||
"100"
|
||||
],
|
||||
"filament_start_gcode": [
|
||||
"; Filament gcode\n{if activate_air_filtration[current_extruder] && support_air_filtration}\nM106 P3 S{during_print_exhaust_fan_speed_num[current_extruder]} \n{endif}"
|
||||
],
|
||||
"filament_end_gcode": [
|
||||
"; filament end gcode \n\n"
|
||||
],
|
||||
"volumetric_speed_coefficients": [
|
||||
"0 0 0 0 0 0"
|
||||
],
|
||||
"filament_adhesiveness_category": [
|
||||
"200"
|
||||
],
|
||||
"filament_dev_ams_drying_time": [
|
||||
"12",
|
||||
"8.0",
|
||||
"12",
|
||||
"8.0"
|
||||
],
|
||||
"filament_dev_ams_drying_heat_distortion_temperature": [
|
||||
"100"
|
||||
],
|
||||
"filament_dev_drying_cooling_temperature": [
|
||||
"85"
|
||||
],
|
||||
"filament_dev_ams_drying_temperature": [
|
||||
"65",
|
||||
"80",
|
||||
"65",
|
||||
"80"
|
||||
],
|
||||
"filament_dev_drying_softening_temperature": [
|
||||
"85"
|
||||
]
|
||||
}
|
||||
+1
-1
@@ -3,7 +3,7 @@
|
||||
"name": "BETA HIPS @BBL H2D",
|
||||
"inherits": "BETA HIPS @base",
|
||||
"from": "system",
|
||||
"setting_id": "9nN2uWxlYH1c507A",
|
||||
"setting_id": "BHIB00_06",
|
||||
"instantiation": "true",
|
||||
"filament_deretraction_speed": [
|
||||
"nil",
|
||||
+1
-1
@@ -3,7 +3,7 @@
|
||||
"name": "BETA HIPS @BBL X1C",
|
||||
"inherits": "BETA HIPS @base",
|
||||
"from": "system",
|
||||
"setting_id": "mTcT8sCciWyX5enc",
|
||||
"setting_id": "BHIB00_00",
|
||||
"instantiation": "true",
|
||||
"filament_max_volumetric_speed": [
|
||||
"8",
|
||||
@@ -0,0 +1,14 @@
|
||||
{
|
||||
"type": "filament",
|
||||
"name": "BETA HIPS @base",
|
||||
"inherits": "fdm_filament_hips",
|
||||
"from": "system",
|
||||
"filament_id": "OFlmxlDG",
|
||||
"instantiation": "false",
|
||||
"filament_is_support": [
|
||||
"1"
|
||||
],
|
||||
"filament_vendor": [
|
||||
"BETA"
|
||||
]
|
||||
}
|
||||
+1
-1
@@ -3,7 +3,7 @@
|
||||
"name": "BETA PAHT-CF @BBL H2D",
|
||||
"inherits": "BETA PAHT-CF @base",
|
||||
"from": "system",
|
||||
"setting_id": "YbYCVQd5IR0sQR8S",
|
||||
"setting_id": "BPAB00_01",
|
||||
"instantiation": "true",
|
||||
"chamber_temperatures": [
|
||||
"60"
|
||||
+1
-1
@@ -3,7 +3,7 @@
|
||||
"name": "BETA PAHT-CF @BBL P1P",
|
||||
"inherits": "BETA PAHT-CF @base",
|
||||
"from": "system",
|
||||
"setting_id": "5O5fzmFrT3O1k1H0",
|
||||
"setting_id": "BPAB00_10",
|
||||
"instantiation": "true",
|
||||
"filament_flow_ratio": [
|
||||
"0.96",
|
||||
+1
-1
@@ -3,7 +3,7 @@
|
||||
"name": "BETA PAHT-CF @BBL X1C",
|
||||
"inherits": "BETA PAHT-CF @base",
|
||||
"from": "system",
|
||||
"setting_id": "gB5HLYTDCooFy2W5",
|
||||
"setting_id": "BPAB00",
|
||||
"instantiation": "true",
|
||||
"chamber_temperatures": [
|
||||
"60"
|
||||
@@ -0,0 +1,48 @@
|
||||
{
|
||||
"type": "filament",
|
||||
"name": "BETA PAHT-CF @base",
|
||||
"inherits": "fdm_filament_pa",
|
||||
"from": "system",
|
||||
"filament_id": "OF6qw3Wb",
|
||||
"instantiation": "false",
|
||||
"description": "When printing this filament, there's a risk of nozzle clogging, oozing, warping and low layer adhesion strength. To get better results, please refer to this wiki: Printing Tips for High Temp / Engineering materials.",
|
||||
"fan_cooling_layer_time": [
|
||||
"5"
|
||||
],
|
||||
"fan_max_speed": [
|
||||
"30"
|
||||
],
|
||||
"fan_min_speed": [
|
||||
"10"
|
||||
],
|
||||
"filament_cost": [
|
||||
"94.99"
|
||||
],
|
||||
"filament_density": [
|
||||
"1.06"
|
||||
],
|
||||
"filament_flow_ratio": [
|
||||
"0.96"
|
||||
],
|
||||
"filament_type": [
|
||||
"PA-CF"
|
||||
],
|
||||
"filament_vendor": [
|
||||
"BETA"
|
||||
],
|
||||
"full_fan_speed_layer": [
|
||||
"2"
|
||||
],
|
||||
"impact_strength_z": [
|
||||
"13.3"
|
||||
],
|
||||
"overhang_fan_speed": [
|
||||
"40"
|
||||
],
|
||||
"overhang_fan_threshold": [
|
||||
"0%"
|
||||
],
|
||||
"temperature_vitrification": [
|
||||
"180"
|
||||
]
|
||||
}
|
||||
+1
-1
@@ -3,7 +3,7 @@
|
||||
"name": "BETA PEBA 90A @BBL A1",
|
||||
"inherits": "BETA PEBA 90A @base",
|
||||
"from": "system",
|
||||
"setting_id": "A57Sbar56Ah1NiU7",
|
||||
"setting_id": "BPBB00_04",
|
||||
"instantiation": "true",
|
||||
"filament_density": [
|
||||
"1.22"
|
||||
+1
-1
@@ -3,7 +3,7 @@
|
||||
"name": "BETA PEBA 90A @BBL A1M",
|
||||
"inherits": "BETA PEBA 90A @base",
|
||||
"from": "system",
|
||||
"setting_id": "OoLkWS147R0AasZc",
|
||||
"setting_id": "BPBB00_05",
|
||||
"instantiation": "true",
|
||||
"filament_density": [
|
||||
"1.22"
|
||||
+1
-1
@@ -3,7 +3,7 @@
|
||||
"name": "BETA PEBA 90A @BBL H2D",
|
||||
"inherits": "BETA PEBA 90A @base",
|
||||
"from": "system",
|
||||
"setting_id": "91b8WTzvOky9wAVK",
|
||||
"setting_id": "BPBB00_02",
|
||||
"instantiation": "true",
|
||||
"additional_cooling_fan_speed": [
|
||||
"100"
|
||||
+1
-1
@@ -3,7 +3,7 @@
|
||||
"name": "BETA PEBA 90A @BBL P1P",
|
||||
"inherits": "BETA PEBA 90A @base",
|
||||
"from": "system",
|
||||
"setting_id": "ydudEBLRmj1WSXqB",
|
||||
"setting_id": "BPBB00_01",
|
||||
"instantiation": "true",
|
||||
"filament_max_volumetric_speed": [
|
||||
"2.8",
|
||||
+1
-1
@@ -3,7 +3,7 @@
|
||||
"name": "BETA PEBA 90A @BBL X1C",
|
||||
"inherits": "BETA PEBA 90A @base",
|
||||
"from": "system",
|
||||
"setting_id": "F1hTal3M92tBjv2N",
|
||||
"setting_id": "BPBB00_00",
|
||||
"instantiation": "true",
|
||||
"filament_max_volumetric_speed": [
|
||||
"2.8",
|
||||
@@ -0,0 +1,33 @@
|
||||
{
|
||||
"type": "filament",
|
||||
"name": "BETA PEBA 90A @base",
|
||||
"inherits": "fdm_filament_tpu",
|
||||
"from": "system",
|
||||
"filament_id": "OFI2MKy7",
|
||||
"instantiation": "false",
|
||||
"description": "This filament is too soft and not compatible with the AMS. Printing it is of many requirements, and to get better printing quality, please refer to this wiki: TPU printing guide.",
|
||||
"filament_cost": [
|
||||
"59.99"
|
||||
],
|
||||
"filament_max_volumetric_speed": [
|
||||
"2.8"
|
||||
],
|
||||
"filament_vendor": [
|
||||
"BETA"
|
||||
],
|
||||
"impact_strength_z": [
|
||||
"87.3"
|
||||
],
|
||||
"nozzle_temperature": [
|
||||
"225"
|
||||
],
|
||||
"nozzle_temperature_initial_layer": [
|
||||
"225"
|
||||
],
|
||||
"nozzle_temperature_range_high": [
|
||||
"240"
|
||||
],
|
||||
"slow_down_layer_time": [
|
||||
"14"
|
||||
]
|
||||
}
|
||||
+1
-1
@@ -3,7 +3,7 @@
|
||||
"name": "BETA PETG @BBL A1",
|
||||
"inherits": "BETA PETG @base",
|
||||
"from": "system",
|
||||
"setting_id": "EpYzxZwVHvLaseku",
|
||||
"setting_id": "BPGB00_06",
|
||||
"instantiation": "true",
|
||||
"fan_max_speed": [
|
||||
"50"
|
||||
+1
-1
@@ -3,7 +3,7 @@
|
||||
"name": "BETA PETG @BBL A1M 0.4 nozzle",
|
||||
"inherits": "BETA PETG @base",
|
||||
"from": "system",
|
||||
"setting_id": "5V0hyhzFoDU8Tfwm",
|
||||
"setting_id": "BPGB00_03",
|
||||
"instantiation": "true",
|
||||
"fan_max_speed": [
|
||||
"50"
|
||||
+1
-1
@@ -3,7 +3,7 @@
|
||||
"name": "BETA PETG @BBL H2D 0.4 nozzle",
|
||||
"inherits": "BETA PETG @base",
|
||||
"from": "system",
|
||||
"setting_id": "KnKvUsD4rSpQU413",
|
||||
"setting_id": "BPGB00_09",
|
||||
"instantiation": "true",
|
||||
"fan_max_speed": [
|
||||
"30"
|
||||
+1
-1
@@ -3,7 +3,7 @@
|
||||
"name": "BETA PETG @BBL X1C",
|
||||
"inherits": "BETA PETG @base",
|
||||
"from": "system",
|
||||
"setting_id": "uM6wHdt0N5ftZRge",
|
||||
"setting_id": "BPGB00_01",
|
||||
"instantiation": "true",
|
||||
"fan_min_speed": [
|
||||
"20"
|
||||
-43
@@ -92,48 +92,5 @@
|
||||
],
|
||||
"filament_start_gcode": [
|
||||
"; filament start gcode\n{if (bed_temperature[current_extruder] >80)||(bed_temperature_initial_layer[current_extruder] >80)}M106 P3 S255\n{elsif (bed_temperature[current_extruder] >60)||(bed_temperature_initial_layer[current_extruder] >60)}M106 P3 S180\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}"
|
||||
],
|
||||
"close_additional_fan_first_x_layers": [
|
||||
"3"
|
||||
],
|
||||
"retraction_distances_when_ec": [
|
||||
"0"
|
||||
],
|
||||
"filament_end_gcode": [
|
||||
"; filament end gcode \n\n"
|
||||
],
|
||||
"volumetric_speed_coefficients": [
|
||||
"0 0 0 0 0 0"
|
||||
],
|
||||
"filament_adhesiveness_category": [
|
||||
"300"
|
||||
],
|
||||
"filament_dev_chamber_drying_bed_temperature": [
|
||||
"80"
|
||||
],
|
||||
"filament_dev_ams_drying_time": [
|
||||
"12",
|
||||
"12",
|
||||
"12",
|
||||
"12"
|
||||
],
|
||||
"filament_dev_ams_drying_ams_limitations": [
|
||||
"1",
|
||||
"0"
|
||||
],
|
||||
"filament_dev_ams_drying_heat_distortion_temperature": [
|
||||
"75"
|
||||
],
|
||||
"filament_dev_drying_cooling_temperature": [
|
||||
"55"
|
||||
],
|
||||
"filament_dev_ams_drying_temperature": [
|
||||
"65",
|
||||
"65",
|
||||
"55",
|
||||
"55"
|
||||
],
|
||||
"filament_dev_drying_softening_temperature": [
|
||||
"60"
|
||||
]
|
||||
}
|
||||
+1
-1
@@ -3,7 +3,7 @@
|
||||
"name": "BETA PETG Fluorescence @BBL A1",
|
||||
"inherits": "BETA PETG Fluorescence @base",
|
||||
"from": "system",
|
||||
"setting_id": "ZtyTtAWsZnLGsM0O",
|
||||
"setting_id": "BPGB02_06",
|
||||
"instantiation": "true",
|
||||
"fan_max_speed": [
|
||||
"50"
|
||||
+1
-1
@@ -3,7 +3,7 @@
|
||||
"name": "BETA PETG Fluorescence @BBL A1M 0.4 nozzle",
|
||||
"inherits": "BETA PETG Fluorescence @base",
|
||||
"from": "system",
|
||||
"setting_id": "VUSunTT0OJa7iOSd",
|
||||
"setting_id": "BPGB02_03",
|
||||
"instantiation": "true",
|
||||
"fan_max_speed": [
|
||||
"50"
|
||||
+1
-1
@@ -3,7 +3,7 @@
|
||||
"name": "BETA PETG Fluorescence @BBL H2D 0.4 nozzle",
|
||||
"inherits": "BETA PETG Fluorescence @base",
|
||||
"from": "system",
|
||||
"setting_id": "JHg4y0pxAOtoJSuw",
|
||||
"setting_id": "BPGB02_09",
|
||||
"instantiation": "true",
|
||||
"fan_max_speed": [
|
||||
"30"
|
||||
+1
-1
@@ -3,7 +3,7 @@
|
||||
"name": "BETA PETG Fluorescence @BBL X1C",
|
||||
"inherits": "BETA PETG Fluorescence @base",
|
||||
"from": "system",
|
||||
"setting_id": "pCetfFvyLLw3vS2j",
|
||||
"setting_id": "BPGB02_01",
|
||||
"instantiation": "true",
|
||||
"fan_min_speed": [
|
||||
"20"
|
||||
-43
@@ -92,48 +92,5 @@
|
||||
],
|
||||
"filament_start_gcode": [
|
||||
"; filament start gcode\n{if (bed_temperature[current_extruder] >80)||(bed_temperature_initial_layer[current_extruder] >80)}M106 P3 S255\n{elsif (bed_temperature[current_extruder] >60)||(bed_temperature_initial_layer[current_extruder] >60)}M106 P3 S180\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}"
|
||||
],
|
||||
"close_additional_fan_first_x_layers": [
|
||||
"3"
|
||||
],
|
||||
"retraction_distances_when_ec": [
|
||||
"0"
|
||||
],
|
||||
"filament_end_gcode": [
|
||||
"; filament end gcode \n\n"
|
||||
],
|
||||
"volumetric_speed_coefficients": [
|
||||
"0 0 0 0 0 0"
|
||||
],
|
||||
"filament_adhesiveness_category": [
|
||||
"300"
|
||||
],
|
||||
"filament_dev_chamber_drying_bed_temperature": [
|
||||
"80"
|
||||
],
|
||||
"filament_dev_ams_drying_time": [
|
||||
"12",
|
||||
"12",
|
||||
"12",
|
||||
"12"
|
||||
],
|
||||
"filament_dev_ams_drying_ams_limitations": [
|
||||
"1",
|
||||
"0"
|
||||
],
|
||||
"filament_dev_ams_drying_heat_distortion_temperature": [
|
||||
"75"
|
||||
],
|
||||
"filament_dev_drying_cooling_temperature": [
|
||||
"55"
|
||||
],
|
||||
"filament_dev_ams_drying_temperature": [
|
||||
"65",
|
||||
"65",
|
||||
"55",
|
||||
"55"
|
||||
],
|
||||
"filament_dev_drying_softening_temperature": [
|
||||
"60"
|
||||
]
|
||||
}
|
||||
+1
-1
@@ -3,7 +3,7 @@
|
||||
"name": "BETA PETG Glitter @BBL A1",
|
||||
"inherits": "BETA PETG Glitter @base",
|
||||
"from": "system",
|
||||
"setting_id": "cz5dC7OrXDlX1Ctj",
|
||||
"setting_id": "BPGB03_06",
|
||||
"instantiation": "true",
|
||||
"fan_max_speed": [
|
||||
"50"
|
||||
+1
-1
@@ -3,7 +3,7 @@
|
||||
"name": "BETA PETG Glitter @BBL A1M 0.4 nozzle",
|
||||
"inherits": "BETA PETG Glitter @base",
|
||||
"from": "system",
|
||||
"setting_id": "PozWnOfZ2l7HqTpx",
|
||||
"setting_id": "BPGB03_03",
|
||||
"instantiation": "true",
|
||||
"fan_max_speed": [
|
||||
"50"
|
||||
+1
-1
@@ -3,7 +3,7 @@
|
||||
"name": "BETA PETG Glitter @BBL H2D 0.4 nozzle",
|
||||
"inherits": "BETA PETG Glitter @base",
|
||||
"from": "system",
|
||||
"setting_id": "ijW4zvNAQ3DIK984",
|
||||
"setting_id": "BPGB03_09",
|
||||
"instantiation": "true",
|
||||
"fan_max_speed": [
|
||||
"30"
|
||||
+1
-1
@@ -3,7 +3,7 @@
|
||||
"name": "BETA PETG Glitter @BBL X1C",
|
||||
"inherits": "BETA PETG Glitter @base",
|
||||
"from": "system",
|
||||
"setting_id": "UI220qldPoLY8VZN",
|
||||
"setting_id": "BPGB03_01",
|
||||
"instantiation": "true",
|
||||
"fan_min_speed": [
|
||||
"20"
|
||||
-43
@@ -92,48 +92,5 @@
|
||||
],
|
||||
"filament_start_gcode": [
|
||||
"; filament start gcode\n{if (bed_temperature[current_extruder] >80)||(bed_temperature_initial_layer[current_extruder] >80)}M106 P3 S255\n{elsif (bed_temperature[current_extruder] >60)||(bed_temperature_initial_layer[current_extruder] >60)}M106 P3 S180\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}"
|
||||
],
|
||||
"close_additional_fan_first_x_layers": [
|
||||
"3"
|
||||
],
|
||||
"retraction_distances_when_ec": [
|
||||
"0"
|
||||
],
|
||||
"filament_end_gcode": [
|
||||
"; filament end gcode \n\n"
|
||||
],
|
||||
"volumetric_speed_coefficients": [
|
||||
"0 0 0 0 0 0"
|
||||
],
|
||||
"filament_adhesiveness_category": [
|
||||
"300"
|
||||
],
|
||||
"filament_dev_chamber_drying_bed_temperature": [
|
||||
"80"
|
||||
],
|
||||
"filament_dev_ams_drying_time": [
|
||||
"12",
|
||||
"12",
|
||||
"12",
|
||||
"12"
|
||||
],
|
||||
"filament_dev_ams_drying_ams_limitations": [
|
||||
"1",
|
||||
"0"
|
||||
],
|
||||
"filament_dev_ams_drying_heat_distortion_temperature": [
|
||||
"75"
|
||||
],
|
||||
"filament_dev_drying_cooling_temperature": [
|
||||
"55"
|
||||
],
|
||||
"filament_dev_ams_drying_temperature": [
|
||||
"65",
|
||||
"65",
|
||||
"55",
|
||||
"55"
|
||||
],
|
||||
"filament_dev_drying_softening_temperature": [
|
||||
"60"
|
||||
]
|
||||
}
|
||||
+1
-1
@@ -3,7 +3,7 @@
|
||||
"name": "BETA PETG Glow @BBL A1",
|
||||
"inherits": "BETA PETG Glow @base",
|
||||
"from": "system",
|
||||
"setting_id": "LudMQeiSJOLw0Aoy",
|
||||
"setting_id": "BPGB04_06",
|
||||
"instantiation": "true",
|
||||
"fan_max_speed": [
|
||||
"50"
|
||||
+1
-1
@@ -3,7 +3,7 @@
|
||||
"name": "BETA PETG Glow @BBL A1M 0.4 nozzle",
|
||||
"inherits": "BETA PETG Glow @base",
|
||||
"from": "system",
|
||||
"setting_id": "cl1Rl9hgrahhhSd3",
|
||||
"setting_id": "BPGB04_03",
|
||||
"instantiation": "true",
|
||||
"fan_max_speed": [
|
||||
"50"
|
||||
+1
-1
@@ -3,7 +3,7 @@
|
||||
"name": "BETA PETG Glow @BBL H2D 0.4 nozzle",
|
||||
"inherits": "BETA PETG Glow @base",
|
||||
"from": "system",
|
||||
"setting_id": "3s9w3mH6M4OdbrUV",
|
||||
"setting_id": "BPGB04_09",
|
||||
"instantiation": "true",
|
||||
"fan_max_speed": [
|
||||
"30"
|
||||
+1
-1
@@ -3,7 +3,7 @@
|
||||
"name": "BETA PETG Glow @BBL X1C",
|
||||
"inherits": "BETA PETG Glow @base",
|
||||
"from": "system",
|
||||
"setting_id": "wv5FRKdnsHaIFA7L",
|
||||
"setting_id": "BPGB04_01",
|
||||
"instantiation": "true",
|
||||
"fan_min_speed": [
|
||||
"20"
|
||||
-43
@@ -92,48 +92,5 @@
|
||||
],
|
||||
"filament_start_gcode": [
|
||||
"; filament start gcode\n{if (bed_temperature[current_extruder] >80)||(bed_temperature_initial_layer[current_extruder] >80)}M106 P3 S255\n{elsif (bed_temperature[current_extruder] >60)||(bed_temperature_initial_layer[current_extruder] >60)}M106 P3 S180\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}"
|
||||
],
|
||||
"close_additional_fan_first_x_layers": [
|
||||
"3"
|
||||
],
|
||||
"retraction_distances_when_ec": [
|
||||
"0"
|
||||
],
|
||||
"filament_end_gcode": [
|
||||
"; filament end gcode \n\n"
|
||||
],
|
||||
"volumetric_speed_coefficients": [
|
||||
"0 0 0 0 0 0"
|
||||
],
|
||||
"filament_adhesiveness_category": [
|
||||
"300"
|
||||
],
|
||||
"filament_dev_chamber_drying_bed_temperature": [
|
||||
"80"
|
||||
],
|
||||
"filament_dev_ams_drying_time": [
|
||||
"12",
|
||||
"12",
|
||||
"12",
|
||||
"12"
|
||||
],
|
||||
"filament_dev_ams_drying_ams_limitations": [
|
||||
"1",
|
||||
"0"
|
||||
],
|
||||
"filament_dev_ams_drying_heat_distortion_temperature": [
|
||||
"75"
|
||||
],
|
||||
"filament_dev_drying_cooling_temperature": [
|
||||
"55"
|
||||
],
|
||||
"filament_dev_ams_drying_temperature": [
|
||||
"65",
|
||||
"65",
|
||||
"55",
|
||||
"55"
|
||||
],
|
||||
"filament_dev_drying_softening_temperature": [
|
||||
"60"
|
||||
]
|
||||
}
|
||||
+1
-1
@@ -3,7 +3,7 @@
|
||||
"name": "BETA PETG Gradient @BBL A1",
|
||||
"inherits": "BETA PETG Gradient @base",
|
||||
"from": "system",
|
||||
"setting_id": "L3hZggzEZUgUv0Qv",
|
||||
"setting_id": "BPGB05_06",
|
||||
"instantiation": "true",
|
||||
"fan_max_speed": [
|
||||
"50"
|
||||
+1
-1
@@ -3,7 +3,7 @@
|
||||
"name": "BETA PETG Gradient @BBL A1M 0.4 nozzle",
|
||||
"inherits": "BETA PETG Gradient @base",
|
||||
"from": "system",
|
||||
"setting_id": "zsITnsNFRG7IE6sR",
|
||||
"setting_id": "BPGB05_03",
|
||||
"instantiation": "true",
|
||||
"fan_max_speed": [
|
||||
"50"
|
||||
+1
-1
@@ -3,7 +3,7 @@
|
||||
"name": "BETA PETG Gradient @BBL H2D 0.4 nozzle",
|
||||
"inherits": "BETA PETG Gradient @base",
|
||||
"from": "system",
|
||||
"setting_id": "GqmCuPg6baUxeoYS",
|
||||
"setting_id": "BPGB05_09",
|
||||
"instantiation": "true",
|
||||
"fan_max_speed": [
|
||||
"30"
|
||||
+1
-1
@@ -3,7 +3,7 @@
|
||||
"name": "BETA PETG Gradient @BBL X1C",
|
||||
"inherits": "BETA PETG Gradient @base",
|
||||
"from": "system",
|
||||
"setting_id": "oYJjUiaCI4UBZ0ur",
|
||||
"setting_id": "BPGB05_01",
|
||||
"instantiation": "true",
|
||||
"fan_min_speed": [
|
||||
"20"
|
||||
-43
@@ -92,48 +92,5 @@
|
||||
],
|
||||
"filament_start_gcode": [
|
||||
"; filament start gcode\n{if (bed_temperature[current_extruder] >80)||(bed_temperature_initial_layer[current_extruder] >80)}M106 P3 S255\n{elsif (bed_temperature[current_extruder] >60)||(bed_temperature_initial_layer[current_extruder] >60)}M106 P3 S180\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}"
|
||||
],
|
||||
"close_additional_fan_first_x_layers": [
|
||||
"3"
|
||||
],
|
||||
"retraction_distances_when_ec": [
|
||||
"0"
|
||||
],
|
||||
"filament_end_gcode": [
|
||||
"; filament end gcode \n\n"
|
||||
],
|
||||
"volumetric_speed_coefficients": [
|
||||
"0 0 0 0 0 0"
|
||||
],
|
||||
"filament_adhesiveness_category": [
|
||||
"300"
|
||||
],
|
||||
"filament_dev_chamber_drying_bed_temperature": [
|
||||
"80"
|
||||
],
|
||||
"filament_dev_ams_drying_time": [
|
||||
"12",
|
||||
"12",
|
||||
"12",
|
||||
"12"
|
||||
],
|
||||
"filament_dev_ams_drying_ams_limitations": [
|
||||
"1",
|
||||
"0"
|
||||
],
|
||||
"filament_dev_ams_drying_heat_distortion_temperature": [
|
||||
"75"
|
||||
],
|
||||
"filament_dev_drying_cooling_temperature": [
|
||||
"55"
|
||||
],
|
||||
"filament_dev_ams_drying_temperature": [
|
||||
"65",
|
||||
"65",
|
||||
"55",
|
||||
"55"
|
||||
],
|
||||
"filament_dev_drying_softening_temperature": [
|
||||
"60"
|
||||
]
|
||||
}
|
||||
+1
-1
@@ -3,7 +3,7 @@
|
||||
"name": "BETA PETG HF @BBL A1",
|
||||
"inherits": "BETA PETG HF @base",
|
||||
"from": "system",
|
||||
"setting_id": "T2Ea25pM2u9BM7Oa",
|
||||
"setting_id": "BPGB06_03",
|
||||
"instantiation": "true",
|
||||
"fan_cooling_layer_time": [
|
||||
"15"
|
||||
+1
-1
@@ -3,7 +3,7 @@
|
||||
"name": "BETA PETG HF @BBL A1M",
|
||||
"inherits": "BETA PETG HF @base",
|
||||
"from": "system",
|
||||
"setting_id": "nO5R86dkDle1m5Pq",
|
||||
"setting_id": "BPGB06_06",
|
||||
"instantiation": "true",
|
||||
"fan_cooling_layer_time": [
|
||||
"15"
|
||||
+1
-1
@@ -3,7 +3,7 @@
|
||||
"name": "BETA PETG HF @BBL H2D 0.4 nozzle",
|
||||
"inherits": "BETA PETG HF @base",
|
||||
"from": "system",
|
||||
"setting_id": "YOBguayM9PiwkpfT",
|
||||
"setting_id": "BPGB06_09",
|
||||
"instantiation": "true",
|
||||
"counter_coef_2": [
|
||||
"0.007"
|
||||
+1
-1
@@ -3,7 +3,7 @@
|
||||
"name": "BETA PETG HF @BBL X1C",
|
||||
"inherits": "BETA PETG HF @base",
|
||||
"from": "system",
|
||||
"setting_id": "EG3h0IHVO1yyVNMs",
|
||||
"setting_id": "BPGB06_00",
|
||||
"instantiation": "true",
|
||||
"fan_cooling_layer_time": [
|
||||
"20"
|
||||
-43
@@ -85,48 +85,5 @@
|
||||
],
|
||||
"filament_start_gcode": [
|
||||
"; filament start gcode\n{if (bed_temperature[current_extruder] >80)||(bed_temperature_initial_layer[current_extruder] >80)}M106 P3 S255\n{elsif (bed_temperature[current_extruder] >60)||(bed_temperature_initial_layer[current_extruder] >60)}M106 P3 S180\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}"
|
||||
],
|
||||
"close_additional_fan_first_x_layers": [
|
||||
"3"
|
||||
],
|
||||
"retraction_distances_when_ec": [
|
||||
"0"
|
||||
],
|
||||
"filament_end_gcode": [
|
||||
"; filament end gcode \n\n"
|
||||
],
|
||||
"volumetric_speed_coefficients": [
|
||||
"0 0 0 0 0 0"
|
||||
],
|
||||
"filament_adhesiveness_category": [
|
||||
"300"
|
||||
],
|
||||
"filament_dev_chamber_drying_bed_temperature": [
|
||||
"80"
|
||||
],
|
||||
"filament_dev_ams_drying_time": [
|
||||
"12",
|
||||
"12",
|
||||
"12",
|
||||
"12"
|
||||
],
|
||||
"filament_dev_ams_drying_ams_limitations": [
|
||||
"1",
|
||||
"0"
|
||||
],
|
||||
"filament_dev_ams_drying_heat_distortion_temperature": [
|
||||
"75"
|
||||
],
|
||||
"filament_dev_drying_cooling_temperature": [
|
||||
"55"
|
||||
],
|
||||
"filament_dev_ams_drying_temperature": [
|
||||
"65",
|
||||
"65",
|
||||
"55",
|
||||
"55"
|
||||
],
|
||||
"filament_dev_drying_softening_temperature": [
|
||||
"60"
|
||||
]
|
||||
}
|
||||
+1
-1
@@ -3,7 +3,7 @@
|
||||
"name": "BETA PETG Heat Color Change @BBL A1",
|
||||
"inherits": "BETA PETG Heat Color Change @base",
|
||||
"from": "system",
|
||||
"setting_id": "ZhHASdXFywqbRuBf",
|
||||
"setting_id": "BPGB01_06",
|
||||
"instantiation": "true",
|
||||
"fan_max_speed": [
|
||||
"50"
|
||||
+1
-1
@@ -3,7 +3,7 @@
|
||||
"name": "BETA PETG Heat Color Change @BBL A1M 0.4 nozzle",
|
||||
"inherits": "BETA PETG Heat Color Change @base",
|
||||
"from": "system",
|
||||
"setting_id": "YiFgzCJDAOW9YSjZ",
|
||||
"setting_id": "BPGB01_03",
|
||||
"instantiation": "true",
|
||||
"fan_max_speed": [
|
||||
"50"
|
||||
+1
-1
@@ -3,7 +3,7 @@
|
||||
"name": "BETA PETG Heat Color Change @BBL H2D 0.4 nozzle",
|
||||
"inherits": "BETA PETG Heat Color Change @base",
|
||||
"from": "system",
|
||||
"setting_id": "DpWgpTiKdm70Xt1i",
|
||||
"setting_id": "BPGB01_09",
|
||||
"instantiation": "true",
|
||||
"fan_max_speed": [
|
||||
"30"
|
||||
+1
-1
@@ -3,7 +3,7 @@
|
||||
"name": "BETA PETG Heat Color Change @BBL X1C",
|
||||
"inherits": "BETA PETG Heat Color Change @base",
|
||||
"from": "system",
|
||||
"setting_id": "3lJe6ftSHQDkQZ1S",
|
||||
"setting_id": "BPGB01_01",
|
||||
"instantiation": "true",
|
||||
"fan_min_speed": [
|
||||
"20"
|
||||
-43
@@ -92,48 +92,5 @@
|
||||
],
|
||||
"filament_start_gcode": [
|
||||
"; filament start gcode\n{if (bed_temperature[current_extruder] >80)||(bed_temperature_initial_layer[current_extruder] >80)}M106 P3 S255\n{elsif (bed_temperature[current_extruder] >60)||(bed_temperature_initial_layer[current_extruder] >60)}M106 P3 S180\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}"
|
||||
],
|
||||
"close_additional_fan_first_x_layers": [
|
||||
"3"
|
||||
],
|
||||
"retraction_distances_when_ec": [
|
||||
"0"
|
||||
],
|
||||
"filament_end_gcode": [
|
||||
"; filament end gcode \n\n"
|
||||
],
|
||||
"volumetric_speed_coefficients": [
|
||||
"0 0 0 0 0 0"
|
||||
],
|
||||
"filament_adhesiveness_category": [
|
||||
"300"
|
||||
],
|
||||
"filament_dev_chamber_drying_bed_temperature": [
|
||||
"80"
|
||||
],
|
||||
"filament_dev_ams_drying_time": [
|
||||
"12",
|
||||
"12",
|
||||
"12",
|
||||
"12"
|
||||
],
|
||||
"filament_dev_ams_drying_ams_limitations": [
|
||||
"1",
|
||||
"0"
|
||||
],
|
||||
"filament_dev_ams_drying_heat_distortion_temperature": [
|
||||
"75"
|
||||
],
|
||||
"filament_dev_drying_cooling_temperature": [
|
||||
"55"
|
||||
],
|
||||
"filament_dev_ams_drying_temperature": [
|
||||
"65",
|
||||
"65",
|
||||
"55",
|
||||
"55"
|
||||
],
|
||||
"filament_dev_drying_softening_temperature": [
|
||||
"60"
|
||||
]
|
||||
}
|
||||
+1
-1
@@ -3,7 +3,7 @@
|
||||
"name": "BETA PETG Marble @BBL A1",
|
||||
"inherits": "BETA PETG Marble @base",
|
||||
"from": "system",
|
||||
"setting_id": "tSCDuE4dE44PyIwb",
|
||||
"setting_id": "BPGB07_06",
|
||||
"instantiation": "true",
|
||||
"fan_max_speed": [
|
||||
"50"
|
||||
+1
-1
@@ -3,7 +3,7 @@
|
||||
"name": "BETA PETG Marble @BBL A1M 0.4 nozzle",
|
||||
"inherits": "BETA PETG Marble @base",
|
||||
"from": "system",
|
||||
"setting_id": "n6dguOo5ZleD6Ec4",
|
||||
"setting_id": "BPGB07_03",
|
||||
"instantiation": "true",
|
||||
"fan_max_speed": [
|
||||
"50"
|
||||
+1
-1
@@ -3,7 +3,7 @@
|
||||
"name": "BETA PETG Marble @BBL H2D 0.4 nozzle",
|
||||
"inherits": "BETA PETG Marble @base",
|
||||
"from": "system",
|
||||
"setting_id": "RxCTxdvym4iNOB5j",
|
||||
"setting_id": "BPGB07_09",
|
||||
"instantiation": "true",
|
||||
"fan_max_speed": [
|
||||
"30"
|
||||
+1
-1
@@ -3,7 +3,7 @@
|
||||
"name": "BETA PETG Marble @BBL X1C",
|
||||
"inherits": "BETA PETG Marble @base",
|
||||
"from": "system",
|
||||
"setting_id": "3BgsPAgilo1MgtOV",
|
||||
"setting_id": "BPGB07_01",
|
||||
"instantiation": "true",
|
||||
"fan_min_speed": [
|
||||
"20"
|
||||
-43
@@ -92,48 +92,5 @@
|
||||
],
|
||||
"filament_start_gcode": [
|
||||
"; filament start gcode\n{if (bed_temperature[current_extruder] >80)||(bed_temperature_initial_layer[current_extruder] >80)}M106 P3 S255\n{elsif (bed_temperature[current_extruder] >60)||(bed_temperature_initial_layer[current_extruder] >60)}M106 P3 S180\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}"
|
||||
],
|
||||
"close_additional_fan_first_x_layers": [
|
||||
"3"
|
||||
],
|
||||
"retraction_distances_when_ec": [
|
||||
"0"
|
||||
],
|
||||
"filament_end_gcode": [
|
||||
"; filament end gcode \n\n"
|
||||
],
|
||||
"volumetric_speed_coefficients": [
|
||||
"0 0 0 0 0 0"
|
||||
],
|
||||
"filament_adhesiveness_category": [
|
||||
"300"
|
||||
],
|
||||
"filament_dev_chamber_drying_bed_temperature": [
|
||||
"80"
|
||||
],
|
||||
"filament_dev_ams_drying_time": [
|
||||
"12",
|
||||
"12",
|
||||
"12",
|
||||
"12"
|
||||
],
|
||||
"filament_dev_ams_drying_ams_limitations": [
|
||||
"1",
|
||||
"0"
|
||||
],
|
||||
"filament_dev_ams_drying_heat_distortion_temperature": [
|
||||
"75"
|
||||
],
|
||||
"filament_dev_drying_cooling_temperature": [
|
||||
"55"
|
||||
],
|
||||
"filament_dev_ams_drying_temperature": [
|
||||
"65",
|
||||
"65",
|
||||
"55",
|
||||
"55"
|
||||
],
|
||||
"filament_dev_drying_softening_temperature": [
|
||||
"60"
|
||||
]
|
||||
}
|
||||
+1
-1
@@ -3,7 +3,7 @@
|
||||
"name": "BETA PETG Matte @BBL A1",
|
||||
"inherits": "BETA PETG Matte @base",
|
||||
"from": "system",
|
||||
"setting_id": "zYkrzQk11C98R31F",
|
||||
"setting_id": "BPGB08_06",
|
||||
"instantiation": "true",
|
||||
"fan_max_speed": [
|
||||
"50"
|
||||
+1
-1
@@ -3,7 +3,7 @@
|
||||
"name": "BETA PETG Matte @BBL A1M 0.4 nozzle",
|
||||
"inherits": "BETA PETG Matte @base",
|
||||
"from": "system",
|
||||
"setting_id": "rzX5oP4037Ex5Chh",
|
||||
"setting_id": "BPGB08_03",
|
||||
"instantiation": "true",
|
||||
"fan_max_speed": [
|
||||
"50"
|
||||
+1
-1
@@ -3,7 +3,7 @@
|
||||
"name": "BETA PETG Matte @BBL H2D 0.4 nozzle",
|
||||
"inherits": "BETA PETG Matte @base",
|
||||
"from": "system",
|
||||
"setting_id": "sqz8Vluq7GMd3siv",
|
||||
"setting_id": "BPGB08_09",
|
||||
"instantiation": "true",
|
||||
"fan_max_speed": [
|
||||
"30"
|
||||
+1
-1
@@ -3,7 +3,7 @@
|
||||
"name": "BETA PETG Matte @BBL X1C",
|
||||
"inherits": "BETA PETG Matte @base",
|
||||
"from": "system",
|
||||
"setting_id": "NXgqYCqHeVCgFF3I",
|
||||
"setting_id": "BPGB08_01",
|
||||
"instantiation": "true",
|
||||
"fan_min_speed": [
|
||||
"20"
|
||||
-43
@@ -92,48 +92,5 @@
|
||||
],
|
||||
"filament_start_gcode": [
|
||||
"; filament start gcode\n{if (bed_temperature[current_extruder] >80)||(bed_temperature_initial_layer[current_extruder] >80)}M106 P3 S255\n{elsif (bed_temperature[current_extruder] >60)||(bed_temperature_initial_layer[current_extruder] >60)}M106 P3 S180\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}"
|
||||
],
|
||||
"close_additional_fan_first_x_layers": [
|
||||
"3"
|
||||
],
|
||||
"retraction_distances_when_ec": [
|
||||
"0"
|
||||
],
|
||||
"filament_end_gcode": [
|
||||
"; filament end gcode \n\n"
|
||||
],
|
||||
"volumetric_speed_coefficients": [
|
||||
"0 0 0 0 0 0"
|
||||
],
|
||||
"filament_adhesiveness_category": [
|
||||
"300"
|
||||
],
|
||||
"filament_dev_chamber_drying_bed_temperature": [
|
||||
"80"
|
||||
],
|
||||
"filament_dev_ams_drying_time": [
|
||||
"12",
|
||||
"12",
|
||||
"12",
|
||||
"12"
|
||||
],
|
||||
"filament_dev_ams_drying_ams_limitations": [
|
||||
"1",
|
||||
"0"
|
||||
],
|
||||
"filament_dev_ams_drying_heat_distortion_temperature": [
|
||||
"75"
|
||||
],
|
||||
"filament_dev_drying_cooling_temperature": [
|
||||
"55"
|
||||
],
|
||||
"filament_dev_ams_drying_temperature": [
|
||||
"65",
|
||||
"65",
|
||||
"55",
|
||||
"55"
|
||||
],
|
||||
"filament_dev_drying_softening_temperature": [
|
||||
"60"
|
||||
]
|
||||
}
|
||||
+1
-1
@@ -3,7 +3,7 @@
|
||||
"name": "BETA PETG Metallic @BBL A1",
|
||||
"inherits": "BETA PETG Metallic @base",
|
||||
"from": "system",
|
||||
"setting_id": "1baUIJ3P8n6DcyRc",
|
||||
"setting_id": "BPGB09_06",
|
||||
"instantiation": "true",
|
||||
"fan_max_speed": [
|
||||
"50"
|
||||
+1
-1
@@ -3,7 +3,7 @@
|
||||
"name": "BETA PETG Metallic @BBL A1M 0.4 nozzle",
|
||||
"inherits": "BETA PETG Metallic @base",
|
||||
"from": "system",
|
||||
"setting_id": "LMsVDqsChBksLNqL",
|
||||
"setting_id": "BPGB09_03",
|
||||
"instantiation": "true",
|
||||
"fan_max_speed": [
|
||||
"50"
|
||||
+1
-1
@@ -3,7 +3,7 @@
|
||||
"name": "BETA PETG Metallic @BBL H2D 0.4 nozzle",
|
||||
"inherits": "BETA PETG Metallic @base",
|
||||
"from": "system",
|
||||
"setting_id": "giq8BW6qcwz91e4C",
|
||||
"setting_id": "BPGB09_09",
|
||||
"instantiation": "true",
|
||||
"fan_max_speed": [
|
||||
"30"
|
||||
+1
-1
@@ -3,7 +3,7 @@
|
||||
"name": "BETA PETG Metallic @BBL X1C",
|
||||
"inherits": "BETA PETG Metallic @base",
|
||||
"from": "system",
|
||||
"setting_id": "tZzoc2LdgWkpEiox",
|
||||
"setting_id": "BPGB09_01",
|
||||
"instantiation": "true",
|
||||
"fan_min_speed": [
|
||||
"20"
|
||||
-43
@@ -92,48 +92,5 @@
|
||||
],
|
||||
"filament_start_gcode": [
|
||||
"; filament start gcode\n{if (bed_temperature[current_extruder] >80)||(bed_temperature_initial_layer[current_extruder] >80)}M106 P3 S255\n{elsif (bed_temperature[current_extruder] >60)||(bed_temperature_initial_layer[current_extruder] >60)}M106 P3 S180\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}"
|
||||
],
|
||||
"close_additional_fan_first_x_layers": [
|
||||
"3"
|
||||
],
|
||||
"retraction_distances_when_ec": [
|
||||
"0"
|
||||
],
|
||||
"filament_end_gcode": [
|
||||
"; filament end gcode \n\n"
|
||||
],
|
||||
"volumetric_speed_coefficients": [
|
||||
"0 0 0 0 0 0"
|
||||
],
|
||||
"filament_adhesiveness_category": [
|
||||
"300"
|
||||
],
|
||||
"filament_dev_chamber_drying_bed_temperature": [
|
||||
"80"
|
||||
],
|
||||
"filament_dev_ams_drying_time": [
|
||||
"12",
|
||||
"12",
|
||||
"12",
|
||||
"12"
|
||||
],
|
||||
"filament_dev_ams_drying_ams_limitations": [
|
||||
"1",
|
||||
"0"
|
||||
],
|
||||
"filament_dev_ams_drying_heat_distortion_temperature": [
|
||||
"75"
|
||||
],
|
||||
"filament_dev_drying_cooling_temperature": [
|
||||
"55"
|
||||
],
|
||||
"filament_dev_ams_drying_temperature": [
|
||||
"65",
|
||||
"65",
|
||||
"55",
|
||||
"55"
|
||||
],
|
||||
"filament_dev_drying_softening_temperature": [
|
||||
"60"
|
||||
]
|
||||
}
|
||||
+1
-1
@@ -3,7 +3,7 @@
|
||||
"name": "BETA PETG Transparent @BBL A1",
|
||||
"inherits": "BETA PETG Transparent @base",
|
||||
"from": "system",
|
||||
"setting_id": "86loYV5S4bgO2FOx",
|
||||
"setting_id": "BPGB10_05",
|
||||
"instantiation": "true",
|
||||
"filament_long_retractions_when_cut": [
|
||||
"1"
|
||||
+1
-1
@@ -3,7 +3,7 @@
|
||||
"name": "BETA PETG Transparent @BBL A1M",
|
||||
"inherits": "BETA PETG Transparent @base",
|
||||
"from": "system",
|
||||
"setting_id": "c2xTYO07RC2G2xsv",
|
||||
"setting_id": "BPGB10_02",
|
||||
"instantiation": "true",
|
||||
"filament_long_retractions_when_cut": [
|
||||
"1"
|
||||
+1
-1
@@ -3,7 +3,7 @@
|
||||
"name": "BETA PETG Transparent @BBL H2D 0.4 nozzle",
|
||||
"inherits": "BETA PETG Transparent @base",
|
||||
"from": "system",
|
||||
"setting_id": "GkC5T0RX0meiLVKg",
|
||||
"setting_id": "BPGB10_06",
|
||||
"instantiation": "true",
|
||||
"filament_deretraction_speed": [
|
||||
"nil",
|
||||
+1
-1
@@ -3,7 +3,7 @@
|
||||
"name": "BETA PETG Transparent @BBL X1C",
|
||||
"inherits": "BETA PETG Transparent @base",
|
||||
"from": "system",
|
||||
"setting_id": "doyjzbrEn9akgjvG",
|
||||
"setting_id": "BPGB10_00",
|
||||
"instantiation": "true",
|
||||
"filament_long_retractions_when_cut": [
|
||||
"1",
|
||||
-43
@@ -80,48 +80,5 @@
|
||||
],
|
||||
"filament_start_gcode": [
|
||||
"; filament start gcode\n{if (bed_temperature[current_extruder] >80)||(bed_temperature_initial_layer[current_extruder] >80)}M106 P3 S255\n{elsif (bed_temperature[current_extruder] >60)||(bed_temperature_initial_layer[current_extruder] >60)}M106 P3 S180\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}"
|
||||
],
|
||||
"close_additional_fan_first_x_layers": [
|
||||
"3"
|
||||
],
|
||||
"retraction_distances_when_ec": [
|
||||
"0"
|
||||
],
|
||||
"filament_end_gcode": [
|
||||
"; filament end gcode \n\n"
|
||||
],
|
||||
"volumetric_speed_coefficients": [
|
||||
"0 0 0 0 0 0"
|
||||
],
|
||||
"filament_adhesiveness_category": [
|
||||
"300"
|
||||
],
|
||||
"filament_dev_chamber_drying_bed_temperature": [
|
||||
"80"
|
||||
],
|
||||
"filament_dev_ams_drying_time": [
|
||||
"12",
|
||||
"12",
|
||||
"12",
|
||||
"12"
|
||||
],
|
||||
"filament_dev_ams_drying_ams_limitations": [
|
||||
"1",
|
||||
"0"
|
||||
],
|
||||
"filament_dev_ams_drying_heat_distortion_temperature": [
|
||||
"75"
|
||||
],
|
||||
"filament_dev_drying_cooling_temperature": [
|
||||
"55"
|
||||
],
|
||||
"filament_dev_ams_drying_temperature": [
|
||||
"65",
|
||||
"65",
|
||||
"55",
|
||||
"55"
|
||||
],
|
||||
"filament_dev_drying_softening_temperature": [
|
||||
"60"
|
||||
]
|
||||
}
|
||||
+1
-1
@@ -3,7 +3,7 @@
|
||||
"name": "BETA PETG UV Color Change @BBL A1",
|
||||
"inherits": "BETA PETG UV Color Change @base",
|
||||
"from": "system",
|
||||
"setting_id": "CeepF0rRLZ5fzBwm",
|
||||
"setting_id": "BPGB11_06",
|
||||
"instantiation": "true",
|
||||
"fan_max_speed": [
|
||||
"50"
|
||||
+1
-1
@@ -3,7 +3,7 @@
|
||||
"name": "BETA PETG UV Color Change @BBL A1M 0.4 nozzle",
|
||||
"inherits": "BETA PETG UV Color Change @base",
|
||||
"from": "system",
|
||||
"setting_id": "Atb1esrVdoWBK97e",
|
||||
"setting_id": "BPGB11_03",
|
||||
"instantiation": "true",
|
||||
"fan_max_speed": [
|
||||
"50"
|
||||
+1
-1
@@ -3,7 +3,7 @@
|
||||
"name": "BETA PETG UV Color Change @BBL H2D 0.4 nozzle",
|
||||
"inherits": "BETA PETG UV Color Change @base",
|
||||
"from": "system",
|
||||
"setting_id": "Ic0NUfwLmR0NSh5q",
|
||||
"setting_id": "BPGB11_09",
|
||||
"instantiation": "true",
|
||||
"fan_max_speed": [
|
||||
"30"
|
||||
+1
-1
@@ -3,7 +3,7 @@
|
||||
"name": "BETA PETG UV Color Change @BBL X1C",
|
||||
"inherits": "BETA PETG UV Color Change @base",
|
||||
"from": "system",
|
||||
"setting_id": "BUKCpukEUmocfz3v",
|
||||
"setting_id": "BPGB11_01",
|
||||
"instantiation": "true",
|
||||
"fan_min_speed": [
|
||||
"20"
|
||||
-43
@@ -92,48 +92,5 @@
|
||||
],
|
||||
"filament_start_gcode": [
|
||||
"; filament start gcode\n{if (bed_temperature[current_extruder] >80)||(bed_temperature_initial_layer[current_extruder] >80)}M106 P3 S255\n{elsif (bed_temperature[current_extruder] >60)||(bed_temperature_initial_layer[current_extruder] >60)}M106 P3 S180\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}"
|
||||
],
|
||||
"close_additional_fan_first_x_layers": [
|
||||
"3"
|
||||
],
|
||||
"retraction_distances_when_ec": [
|
||||
"0"
|
||||
],
|
||||
"filament_end_gcode": [
|
||||
"; filament end gcode \n\n"
|
||||
],
|
||||
"volumetric_speed_coefficients": [
|
||||
"0 0 0 0 0 0"
|
||||
],
|
||||
"filament_adhesiveness_category": [
|
||||
"300"
|
||||
],
|
||||
"filament_dev_chamber_drying_bed_temperature": [
|
||||
"80"
|
||||
],
|
||||
"filament_dev_ams_drying_time": [
|
||||
"12",
|
||||
"12",
|
||||
"12",
|
||||
"12"
|
||||
],
|
||||
"filament_dev_ams_drying_ams_limitations": [
|
||||
"1",
|
||||
"0"
|
||||
],
|
||||
"filament_dev_ams_drying_heat_distortion_temperature": [
|
||||
"75"
|
||||
],
|
||||
"filament_dev_drying_cooling_temperature": [
|
||||
"55"
|
||||
],
|
||||
"filament_dev_ams_drying_temperature": [
|
||||
"65",
|
||||
"65",
|
||||
"55",
|
||||
"55"
|
||||
],
|
||||
"filament_dev_drying_softening_temperature": [
|
||||
"60"
|
||||
]
|
||||
}
|
||||
+1
-1
@@ -3,7 +3,7 @@
|
||||
"name": "BETA PETG-CF @BBL A1 0.4 nozzle",
|
||||
"inherits": "BETA PETG-CF @base",
|
||||
"from": "system",
|
||||
"setting_id": "2ysJdw1MuW8VLmny",
|
||||
"setting_id": "BPGB12_05",
|
||||
"instantiation": "true",
|
||||
"fan_cooling_layer_time": [
|
||||
"30"
|
||||
+1
-1
@@ -3,7 +3,7 @@
|
||||
"name": "BETA PETG-CF @BBL A1M 0.4 nozzle",
|
||||
"inherits": "BETA PETG-CF @base",
|
||||
"from": "system",
|
||||
"setting_id": "eZsa6noZZUahQeBp",
|
||||
"setting_id": "BPGB12_04",
|
||||
"instantiation": "true",
|
||||
"filament_max_volumetric_speed": [
|
||||
"9"
|
||||
+1
-1
@@ -3,7 +3,7 @@
|
||||
"name": "BETA PETG-CF @BBL H2D 0.4 nozzle",
|
||||
"inherits": "BETA PETG-CF @base",
|
||||
"from": "system",
|
||||
"setting_id": "YRUDQs5jE1d1BGTY",
|
||||
"setting_id": "BPGB12_08",
|
||||
"instantiation": "true",
|
||||
"counter_coef_2": [
|
||||
"0.00565"
|
||||
+1
-1
@@ -3,7 +3,7 @@
|
||||
"name": "BETA PETG-CF @BBL P1P 0.4 nozzle",
|
||||
"inherits": "BETA PETG-CF @base",
|
||||
"from": "system",
|
||||
"setting_id": "i1OjgC3I96a1Trb8",
|
||||
"setting_id": "BPGB12_03",
|
||||
"instantiation": "true",
|
||||
"fan_cooling_layer_time": [
|
||||
"30"
|
||||
+1
-1
@@ -3,7 +3,7 @@
|
||||
"name": "BETA PETG-CF @BBL X1C 0.4 nozzle",
|
||||
"inherits": "BETA PETG-CF @base",
|
||||
"from": "system",
|
||||
"setting_id": "0p4213iz0b9fbeKO",
|
||||
"setting_id": "BPGB12_02",
|
||||
"instantiation": "true",
|
||||
"fan_cooling_layer_time": [
|
||||
"30"
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user