mirror of
https://github.com/OrcaSlicer/OrcaSlicer.git
synced 2026-09-28 03:11:47 +00:00
Compare 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
|
# re-sliced on its own to see whether it changes the G-code
|
||||||
# harness - the GUI-vs-CLI parity harness (metrics only, never fails)
|
# harness - the GUI-vs-CLI parity harness (metrics only, never fails)
|
||||||
# Both test the latest successful build_all.yml Linux AppImage from main, with
|
# 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
|
# sources checked out at the commit that build was made from. Nothing here
|
||||||
# name another branch, or pin one build by its run id. Nothing here gates a
|
# gates a build or a PR.
|
||||||
# build or a PR.
|
|
||||||
name: Parity Nightly
|
name: Parity Nightly
|
||||||
|
|
||||||
on:
|
on:
|
||||||
@@ -21,13 +20,9 @@ on:
|
|||||||
required: false
|
required: false
|
||||||
default: "main"
|
default: "main"
|
||||||
build_branch:
|
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
|
required: false
|
||||||
default: "main"
|
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:
|
fixtures:
|
||||||
description: "harness fixture ids, space-separated (empty = all)"
|
description: "harness fixture ids, space-separated (empty = all)"
|
||||||
required: false
|
required: false
|
||||||
@@ -55,53 +50,14 @@ jobs:
|
|||||||
env:
|
env:
|
||||||
GH_TOKEN: ${{ github.token }}
|
GH_TOKEN: ${{ github.token }}
|
||||||
GH_REPO: ${{ github.repository }}
|
GH_REPO: ${{ github.repository }}
|
||||||
BRANCH: ${{ inputs.build_branch || 'main' }}
|
|
||||||
RUN_ID: ${{ inputs.build_run_id }}
|
|
||||||
SCHEDULED: ${{ github.event_name == 'schedule' }}
|
|
||||||
run: |
|
run: |
|
||||||
set -euo pipefail
|
set -euo pipefail
|
||||||
if [ -n "$RUN_ID" ]; then
|
gh run list --workflow build_all.yml \
|
||||||
[[ $RUN_ID =~ ^[0-9]+$ ]] || { echo "build_run_id must be a numeric run id, got '$RUN_ID'" >&2; exit 1; }
|
--branch "${{ inputs.build_branch || 'main' }}" \
|
||||||
# a pinned build is read directly, not through a search; it must come
|
--status success --limit 1 --json databaseId,headSha \
|
||||||
# from this repository, because the later jobs check out its commit here
|
--jq '"run_id=\(.[0].databaseId)\nhead_sha=\(.[0].headSha)"' \
|
||||||
found=$(gh api "repos/$GH_REPO/actions/runs/$RUN_ID" --jq \
|
>> "$GITHUB_OUTPUT"
|
||||||
'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"
|
|
||||||
cat "$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:
|
effect:
|
||||||
name: Override sweep effect stage (shard ${{ matrix.shard }})
|
name: Override sweep effect stage (shard ${{ matrix.shard }})
|
||||||
|
|||||||
@@ -70,9 +70,6 @@ if (POLICY CMP0092)
|
|||||||
cmake_policy(SET CMP0092 NEW)
|
cmake_policy(SET CMP0092 NEW)
|
||||||
endif ()
|
endif ()
|
||||||
|
|
||||||
# project() reads this, so set it first.
|
|
||||||
set(CMAKE_USER_MAKE_RULES_OVERRIDE "${CMAKE_CURRENT_LIST_DIR}/cmake/modules/ClangClShowIncludes.cmake")
|
|
||||||
|
|
||||||
project(OrcaSlicer)
|
project(OrcaSlicer)
|
||||||
|
|
||||||
# Backward compatibility for old CMake versions
|
# Backward compatibility for old CMake versions
|
||||||
|
|||||||
@@ -1,10 +0,0 @@
|
|||||||
# ccache does not parse the -clang: arguments CMake uses for clang-cl's gcc-style
|
|
||||||
# depfile, so a cache hit writes the object and no depfile, and Ninja then records
|
|
||||||
# no headers for that object. ccache reproduces /showIncludes output on a hit.
|
|
||||||
foreach (_lang C CXX)
|
|
||||||
if (CMAKE_${_lang}_COMPILER_ID STREQUAL "Clang" AND
|
|
||||||
CMAKE_${_lang}_COMPILER_FRONTEND_VARIANT STREQUAL "MSVC")
|
|
||||||
set(CMAKE_DEPFILE_FLAGS_${_lang} "/showIncludes")
|
|
||||||
set(CMAKE_${_lang}_DEPFILE_FORMAT msvc)
|
|
||||||
endif ()
|
|
||||||
endforeach ()
|
|
||||||
Vendored
-10
@@ -38,14 +38,6 @@ if(POLICY CMP0135) # DOWNLOAD_EXTRACT_TIMESTAMP
|
|||||||
cmake_policy(SET CMP0135 NEW)
|
cmake_policy(SET CMP0135 NEW)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
# project() reads this, so set it first. scripts/flatpak/make_deps_tar.sh packs deps/
|
|
||||||
# without cmake/, so the file is missing in a Flatpak build.
|
|
||||||
set(_rules_override "${CMAKE_CURRENT_LIST_DIR}/../cmake/modules/ClangClShowIncludes.cmake")
|
|
||||||
if (EXISTS "${_rules_override}")
|
|
||||||
set(CMAKE_USER_MAKE_RULES_OVERRIDE "${_rules_override}")
|
|
||||||
endif ()
|
|
||||||
unset(_rules_override)
|
|
||||||
|
|
||||||
project(OrcaSlicer-deps)
|
project(OrcaSlicer-deps)
|
||||||
|
|
||||||
# Backward compatibility for old CMake versions
|
# Backward compatibility for old CMake versions
|
||||||
@@ -228,7 +220,6 @@ if (NOT IS_CROSS_COMPILE OR NOT APPLE)
|
|||||||
-DCMAKE_CXX_COMPILER:STRING=${CMAKE_CXX_COMPILER}
|
-DCMAKE_CXX_COMPILER:STRING=${CMAKE_CXX_COMPILER}
|
||||||
-DCMAKE_C_COMPILER_LAUNCHER:STRING=${CMAKE_C_COMPILER_LAUNCHER}
|
-DCMAKE_C_COMPILER_LAUNCHER:STRING=${CMAKE_C_COMPILER_LAUNCHER}
|
||||||
-DCMAKE_CXX_COMPILER_LAUNCHER:STRING=${CMAKE_CXX_COMPILER_LAUNCHER}
|
-DCMAKE_CXX_COMPILER_LAUNCHER:STRING=${CMAKE_CXX_COMPILER_LAUNCHER}
|
||||||
-DCMAKE_USER_MAKE_RULES_OVERRIDE:STRING=${CMAKE_USER_MAKE_RULES_OVERRIDE}
|
|
||||||
-DCMAKE_TOOLCHAIN_FILE:STRING=${CMAKE_TOOLCHAIN_FILE}
|
-DCMAKE_TOOLCHAIN_FILE:STRING=${CMAKE_TOOLCHAIN_FILE}
|
||||||
-DCMAKE_EXE_LINKER_FLAGS:STRING=${CMAKE_EXE_LINKER_FLAGS}
|
-DCMAKE_EXE_LINKER_FLAGS:STRING=${CMAKE_EXE_LINKER_FLAGS}
|
||||||
-DCMAKE_SHARED_LINKER_FLAGS:STRING=${CMAKE_SHARED_LINKER_FLAGS}
|
-DCMAKE_SHARED_LINKER_FLAGS:STRING=${CMAKE_SHARED_LINKER_FLAGS}
|
||||||
@@ -276,7 +267,6 @@ else()
|
|||||||
-DCMAKE_IGNORE_PREFIX_PATH:STRING=${CMAKE_IGNORE_PREFIX_PATH}
|
-DCMAKE_IGNORE_PREFIX_PATH:STRING=${CMAKE_IGNORE_PREFIX_PATH}
|
||||||
-DCMAKE_C_COMPILER_LAUNCHER:STRING=${CMAKE_C_COMPILER_LAUNCHER}
|
-DCMAKE_C_COMPILER_LAUNCHER:STRING=${CMAKE_C_COMPILER_LAUNCHER}
|
||||||
-DCMAKE_CXX_COMPILER_LAUNCHER:STRING=${CMAKE_CXX_COMPILER_LAUNCHER}
|
-DCMAKE_CXX_COMPILER_LAUNCHER:STRING=${CMAKE_CXX_COMPILER_LAUNCHER}
|
||||||
-DCMAKE_USER_MAKE_RULES_OVERRIDE:STRING=${CMAKE_USER_MAKE_RULES_OVERRIDE}
|
|
||||||
-DBUILD_SHARED_LIBS:BOOL=OFF
|
-DBUILD_SHARED_LIBS:BOOL=OFF
|
||||||
${_cmake_osx_arch}
|
${_cmake_osx_arch}
|
||||||
"${_configs_line}"
|
"${_configs_line}"
|
||||||
|
|||||||
@@ -1,220 +0,0 @@
|
|||||||
# Deferred Page Construction: High Level Design
|
|
||||||
|
|
||||||
## Why it exists
|
|
||||||
|
|
||||||
The main window is a notebook of tabs. When the first frame appears, one tab is on
|
|
||||||
screen and the others are not; some of them are opened later in the session, some
|
|
||||||
never, and some only exist for certain printers. Building a tab before the first frame
|
|
||||||
adds its cost to every startup, whether or not the tab is used.
|
|
||||||
|
|
||||||
This subsystem builds a tab's panel the first time the tab is shown. It also builds the
|
|
||||||
remaining tabs while the user is idle after startup, in units of tens of milliseconds,
|
|
||||||
so a click that lands in the middle of one waits for that unit and no longer. Startup
|
|
||||||
pays only for what the first frame shows, and the other tabs are usually built before
|
|
||||||
anyone opens them.
|
|
||||||
|
|
||||||
## The parts
|
|
||||||
|
|
||||||
`src/slic3r/GUI/Lazy.hpp`, `LazyPage.hpp`, `StagedBuild.hpp` and `IdleScheduler.hpp/.cpp`
|
|
||||||
(with its wx-free `PrebuildQueue.hpp`) are independent. A holder can hold anything a
|
|
||||||
factory makes, a page is a holder with a placeholder widget, a staged object can live
|
|
||||||
outside a holder, and the scheduler knows none of them; it runs tasks, which `MainFrame`
|
|
||||||
makes from the holders.
|
|
||||||
|
|
||||||
### Lazy<T>: the holder
|
|
||||||
|
|
||||||
Holds an object that a factory makes on first use, under a name for the log and a place
|
|
||||||
in the idle queue, both given by the owner. The header has no wx dependency; the busy
|
|
||||||
cursor for an on-demand build lives in `Lazy.cpp` and is skipped when there is no app,
|
|
||||||
so the holder is unit-tested.
|
|
||||||
|
|
||||||
- `get()` is null until the object is completely built; `built()` says the same.
|
|
||||||
- `ensure()` builds whatever is left now, under a busy cursor, and returns the object, or
|
|
||||||
null in the two cases below. A click on an unbuilt tab or a first open of a dialog goes
|
|
||||||
through this, and it logs the units and time it took.
|
|
||||||
- `build_step()` runs one unit of construction and returns true while more remain. The
|
|
||||||
first unit is the factory call, and each later unit is one `StagedBuild` step if the
|
|
||||||
type has them.
|
|
||||||
- `when_built(fn)` runs `fn(object)` now if it exists, otherwise once it is built.
|
|
||||||
- `pending()` says whether the idle prebuild has work here: not built, and the factory
|
|
||||||
has not returned null. A null factory result is logged and the holder stays unbuilt.
|
|
||||||
- A unit that pumps the event loop cannot re-enter the holder; a nested `build_step()`
|
|
||||||
does nothing and a nested `ensure()` returns null.
|
|
||||||
- After a unit throws, the holder and the scheduler still run the next one.
|
|
||||||
|
|
||||||
The holder does not own the object; its wx parent does, as for any window. A type with
|
|
||||||
one instance in the app derives from `LazyInstance<T>`, which points at that instance's
|
|
||||||
holder (the holder registers itself, and a recreated `MainFrame`'s holder replaces the
|
|
||||||
old frame's) and gives the type the static entry points the rest of the app uses,
|
|
||||||
`T::if_built()`, `T::ensure()` and `T::when_built(fn)`. They return null, or do
|
|
||||||
nothing, while no holder exists, so a caller needs no `mainframe` check.
|
|
||||||
|
|
||||||
`built()` is an atomic flag, since a job worker reads it through the statics
|
|
||||||
(`MainFrame::get_calibration_curr_tab()`); it is set after the object is complete.
|
|
||||||
|
|
||||||
`LazyBase` is the holder's type-free interface (`name()`, `built()`, `pending()`,
|
|
||||||
`build_step()`, `prebuild_order()`) and is what the scheduler side sees.
|
|
||||||
|
|
||||||
### LazyPage<Panel>: the placeholder
|
|
||||||
|
|
||||||
A `wxPanel` placed in the parent in place of the real panel, and a `Lazy<Panel>` whose
|
|
||||||
factory makes the panel inside it (by default `new Panel(parent)`). The notebook needs a
|
|
||||||
page object for the tab to exist and for `show_device()` to insert and remove tabs by
|
|
||||||
pointer, and the placeholder is that object. `MainFrame` creates every page once, named
|
|
||||||
after its `TAB_ID_*`, and keeps it for the frame's life; `show_device()` only moves
|
|
||||||
pages in and out of the book.
|
|
||||||
|
|
||||||
- `Show()` is forwarded to the panel, so a panel's own `Show()` override stays its
|
|
||||||
activation hook (refresh timers, machine sync) and `SelectPageByName()` works
|
|
||||||
unchanged. A show builds the panel unless the frame itself is still hidden, because
|
|
||||||
the book selects its first page as it is inserted; `MainFrame::Show()` shows the
|
|
||||||
current page again when the frame becomes visible, which builds it.
|
|
||||||
- `in_book()` says whether the parent notebook currently lists the page, and
|
|
||||||
`pending()` is that and not built, so a tab `show_device()` has taken out of the book
|
|
||||||
is not prebuilt.
|
|
||||||
- A panel built while its page is hidden stays hidden, and a completed panel gets the
|
|
||||||
dark-mode pass the frame ran before it existed.
|
|
||||||
|
|
||||||
The Compare presets dialog is a holder without a page. `MainFrame` keeps a
|
|
||||||
`Lazy<DiffPresetDialog>` whose factory constructs the dialog and binds its events, the
|
|
||||||
dialog derives from `LazyInstance`, and its callers use
|
|
||||||
`DiffPresetDialog::ensure()->show()` and `DiffPresetDialog::if_built()` like a tab's
|
|
||||||
callers do. Saving a preset refreshes the dialog only while it is shown, since `show()`
|
|
||||||
reloads the presets.
|
|
||||||
|
|
||||||
### StagedBuild: construction in units
|
|
||||||
|
|
||||||
A mixin for a panel whose constructor is too big to be one unit. The constructor builds
|
|
||||||
the skeleton (sizers, and the parts other code may touch) and queues the rest with
|
|
||||||
`add_build_step()`. `build_step()` runs one step, and `add_build_steps_of(child)`
|
|
||||||
forwards a child's steps so a nested panel is spread the same way; the parent is built
|
|
||||||
only once the child is, including steps the child queues later. Steps run in order, on
|
|
||||||
the main thread. A `Lazy<T>` recognises a staged type at compile time and runs its steps
|
|
||||||
one per unit.
|
|
||||||
|
|
||||||
Nothing may touch what a step builds before the last step has run. In practice:
|
|
||||||
|
|
||||||
- nothing paints the panel before it is complete, since a panel built at idle is hidden
|
|
||||||
with its page and one built on demand finishes inside `ensure()` before the event loop
|
|
||||||
runs again;
|
|
||||||
- members created in steps are initialised to null in the header, so a partially built
|
|
||||||
panel can be destroyed;
|
|
||||||
- timers and event handlers that use step content check `built()` first
|
|
||||||
(`MonitorPanel::update_all()`, `CalibrationPanel::update_all()`), and a child's steps
|
|
||||||
are queued before anything in the constructor can fire such a handler;
|
|
||||||
- a destructor that disconnects from step content checks `built()` first;
|
|
||||||
- a constructor or step does not take focus while the panel is off screen
|
|
||||||
(`IsShownOnScreen()` before `SetFocus()`), since it may run while the user is typing
|
|
||||||
elsewhere;
|
|
||||||
- where a step's widgets must keep their place in a sizer that later steps also fill, the
|
|
||||||
constructor adds an empty slot sizer in that position and the step fills the slot
|
|
||||||
(`StatusBasePanel`).
|
|
||||||
|
|
||||||
### IdleScheduler: when to build
|
|
||||||
|
|
||||||
A task is any `LazyBase`: a name for the log, `pending()`, `build_step()` and
|
|
||||||
`prebuild_order()`. `PrebuildQueue` holds the tasks by order (equal order in the order
|
|
||||||
added) and runs a slice, the units of the first pending task until it completes, the
|
|
||||||
budget is spent on the clock it is given, or the interrupt predicate says input arrived.
|
|
||||||
It has no wx dependency and is unit-tested with a fake clock. A task whose work is gone
|
|
||||||
is passed over and stays in the queue, so a tab that `show_device()` removes and later
|
|
||||||
re-inserts is pending again.
|
|
||||||
|
|
||||||
`IdleScheduler` drives the queue with the real clock, the app's input timestamp and the
|
|
||||||
Windows queue check, and logs each unit and slice. Each slice is a timer message: a
|
|
||||||
period of 250 ms while waiting for the user to go quiet, and a one-shot of zero after a
|
|
||||||
slice that left work, so the event loop dispatches whatever it has queued (paint,
|
|
||||||
timers, input) before the next slice runs. Chaining slices with `CallAfter` would not do
|
|
||||||
this: wx drains pending events fully before the next native message, on every platform.
|
|
||||||
On GTK the one-shot is 5 ms, because a due GLib timeout runs ahead of the redraw and
|
|
||||||
idle sources that paint and deliver posted events.
|
|
||||||
A slice runs only once the user has been idle for the quiet time, and the timer stops
|
|
||||||
itself once no task is pending. The tick period, quiet time and slice length are
|
|
||||||
constants in `IdleScheduler.cpp`. A unit cannot be interrupted once started, so the
|
|
||||||
largest unit bounds click latency on Windows; on the other platforms a click also waits
|
|
||||||
for the rest of the slice. A unit that pumps the event loop lets the timer fire inside
|
|
||||||
its own slice, and that tick does nothing.
|
|
||||||
|
|
||||||
The tasks are made by their owners. `MainFrame::prebuild_pages_when_idle()` registers
|
|
||||||
every `LazyPage` the frame created, in or out of the book (`pending()` is false for a
|
|
||||||
page out of the book), the Compare presets holder, and the Prepare sidebar's settings
|
|
||||||
page from `ParamsPanel::settings_page_prebuild()`, whose first unit selects the default
|
|
||||||
tab if none is selected yet and whose later units build one option group each.
|
|
||||||
`show_device()` only restarts the timer. `MainFrame` owns the scheduler because it owns
|
|
||||||
everything the tasks build, and clearing the queue with the frame is what keeps a task
|
|
||||||
from outliving its object.
|
|
||||||
|
|
||||||
Idle time comes from `GUI_App::FilterEvent`, which timestamps mouse and keyboard events
|
|
||||||
(`wxEVT_CATEGORY_USER_INPUT` minus command events, which all claim that category), and
|
|
||||||
`GUI_App::input_idle_ms()` reports it. On Windows a slice additionally refuses to start
|
|
||||||
when the message queue holds keyboard, button, touch or pen input. Mouse moves are
|
|
||||||
excluded because Windows synthesises one whenever a window appears under the cursor,
|
|
||||||
which every unit does. Other platforms use the timestamp alone.
|
|
||||||
|
|
||||||
Once every registered page is built the timer is stopped and the subsystem costs
|
|
||||||
nothing.
|
|
||||||
|
|
||||||
## Rules
|
|
||||||
|
|
||||||
**What builds before the first frame.** The Prepare tab's plater, because `post_init()`
|
|
||||||
needs its GL canvas on screen to initialise OpenGL in every startup state, and the start
|
|
||||||
page the user configured. Home is built by the first `MainFrame::Show()`, Prepare's
|
|
||||||
settings page by selecting the tab. `post_init()` passes through the Prepare tab for GL
|
|
||||||
init under `Freeze()` with `MainFrame::select_prepare_for_gl_init()`, which changes the
|
|
||||||
selection without the page-changed event, so nothing else is built for that pass.
|
|
||||||
|
|
||||||
**Reaching a lazy object.** A caller uses the type's own statics. `T::if_built()` may
|
|
||||||
return null and is for telling the object something it can live without (a rescale, a
|
|
||||||
colour change, a status update). `T::ensure()` builds the object and is for navigating
|
|
||||||
to it or for a caller that is about to show it. A caller that tells the object something
|
|
||||||
it would not fetch for itself on construction uses `T::when_built()`, which keeps the
|
|
||||||
message until the object exists. A panel that pulls its state when constructed (the Home
|
|
||||||
page requests the recent list on load, the Device tab reads the device manager on show)
|
|
||||||
is reached with `if_built()`; one that cannot pull gets `when_built()`.
|
|
||||||
|
|
||||||
**Unit size.** A unit cannot be interrupted, so it should stay within the slice length on
|
|
||||||
a fast machine. A constructor above that is staged. A single widget above it is the
|
|
||||||
floor unless the widget itself is split.
|
|
||||||
|
|
||||||
**Order.** Cheapest and most likely to be opened first, given where `MainFrame` creates
|
|
||||||
each holder. The settings page is 0 (the Prepare tab's own content), Home 10, Device 20
|
|
||||||
(a Bambu user's usual second stop), Calibration 30, Multi-device 40, the web Device
|
|
||||||
view 50, Project 60 (a second WebView2 instance) and the Compare presets dialog 100;
|
|
||||||
steps of ten so a new tab takes a value between its neighbours without renumbering
|
|
||||||
them. `MainFrame::prebuild_pages_when_idle()` registers the tasks once, from
|
|
||||||
`post_init()`.
|
|
||||||
|
|
||||||
**Never prebuilt.** A holder with a negative order, for a tab that few sessions open
|
|
||||||
and that costs more to build unasked than it saves (the Design tab), and plugin-provided
|
|
||||||
tabs, which are Python-side and not lazy pages.
|
|
||||||
|
|
||||||
## Adopting it
|
|
||||||
|
|
||||||
A lazy tab needs:
|
|
||||||
|
|
||||||
1. The panel derived from `LazyInstance<Panel>`, since a tab's panel has one instance.
|
|
||||||
2. A `LazyPage<Panel>*` member in `MainFrame`, created once in `init_tabpanel()` with
|
|
||||||
its `TAB_ID_*` as the name, its place by the order rule (and a factory if
|
|
||||||
`new Panel(parent)` is not enough), added to `m_lazy_pages`, and used wherever the
|
|
||||||
tab is added to or looked up in the notebook.
|
|
||||||
3. Every use of the panel outside `MainFrame` going through one of the panel's statics,
|
|
||||||
chosen by the rule above. When converting an existing member, `grep` for it; the
|
|
||||||
compiler finds the rest.
|
|
||||||
4. A constructor that copes with the frame already existing and the user being busy
|
|
||||||
elsewhere, since `wxGetApp().mainframe` is set, the frame may be shown, and the user
|
|
||||||
may be typing when a lazy panel is built: no `SetFocus()` while off screen, and
|
|
||||||
whatever the constructor did through a `MainFrame` accessor before (a mode update, a
|
|
||||||
deferred URL) done in the constructor itself.
|
|
||||||
|
|
||||||
To stage a heavy constructor, inherit `StagedBuild`, keep the skeleton in the constructor,
|
|
||||||
move the rest into `add_build_step()` lambdas in the original order, and follow the
|
|
||||||
staged-panel rules above. Measure the units. A step that is still one big widget has to
|
|
||||||
be split inside that widget or accepted as the floor.
|
|
||||||
|
|
||||||
Verification is by log. `MainFrame::prebuild_pages_when_idle` lists the queue it
|
|
||||||
registered, `IdleScheduler::tick` reports each completed task by name at info level and
|
|
||||||
each slice and unit at debug level, and `Lazy::ensure` reports an object a user built
|
|
||||||
on demand with the units and time it took. A run from the configured start
|
|
||||||
page shows every registered page complete, in order, with no unit longer than intended.
|
|
||||||
A click on a tab mid-prebuild shows the finished panel with an `ensure` line for what was
|
|
||||||
left, and the slices resume for the remaining tasks once the user is idle again.
|
|
||||||
@@ -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.
|
||||||
+2881
-1
File diff suppressed because it is too large
Load Diff
+1
-1
@@ -3,7 +3,7 @@
|
|||||||
"name": "AliZ PA-CF @P1-X1",
|
"name": "AliZ PA-CF @P1-X1",
|
||||||
"inherits": "AliZ PA-CF @base",
|
"inherits": "AliZ PA-CF @base",
|
||||||
"from": "system",
|
"from": "system",
|
||||||
"setting_id": "cN0uesF0mZf3KSkj",
|
"setting_id": "AliZ003_00",
|
||||||
"instantiation": "true",
|
"instantiation": "true",
|
||||||
"enable_pressure_advance": [
|
"enable_pressure_advance": [
|
||||||
"1"
|
"1"
|
||||||
+1
-1
@@ -3,7 +3,7 @@
|
|||||||
"name": "AliZ PETG @P1-X1",
|
"name": "AliZ PETG @P1-X1",
|
||||||
"inherits": "AliZ PETG @base",
|
"inherits": "AliZ PETG @base",
|
||||||
"from": "system",
|
"from": "system",
|
||||||
"setting_id": "cZp23cC4ong9q6dn",
|
"setting_id": "AliZ001_00",
|
||||||
"instantiation": "true",
|
"instantiation": "true",
|
||||||
"enable_pressure_advance": [
|
"enable_pressure_advance": [
|
||||||
"1"
|
"1"
|
||||||
+1
-1
@@ -3,7 +3,7 @@
|
|||||||
"name": "AliZ PETG-CF @P1-X1",
|
"name": "AliZ PETG-CF @P1-X1",
|
||||||
"inherits": "AliZ PETG-CF @base",
|
"inherits": "AliZ PETG-CF @base",
|
||||||
"from": "system",
|
"from": "system",
|
||||||
"setting_id": "HWW5mejsB0SfEfWw",
|
"setting_id": "AZ01-1_00",
|
||||||
"instantiation": "true",
|
"instantiation": "true",
|
||||||
"enable_pressure_advance": [
|
"enable_pressure_advance": [
|
||||||
"1"
|
"1"
|
||||||
+1
-1
@@ -3,7 +3,7 @@
|
|||||||
"name": "AliZ PETG-Metal @P1-X1",
|
"name": "AliZ PETG-Metal @P1-X1",
|
||||||
"inherits": "AliZ PETG-Metal @base",
|
"inherits": "AliZ PETG-Metal @base",
|
||||||
"from": "system",
|
"from": "system",
|
||||||
"setting_id": "JqD0blE4fxaNfXqB",
|
"setting_id": "AZ01-2_00",
|
||||||
"instantiation": "true",
|
"instantiation": "true",
|
||||||
"enable_pressure_advance": [
|
"enable_pressure_advance": [
|
||||||
"1"
|
"1"
|
||||||
+1
-1
@@ -3,7 +3,7 @@
|
|||||||
"name": "AliZ PLA @P1-X1",
|
"name": "AliZ PLA @P1-X1",
|
||||||
"inherits": "AliZ PLA @base",
|
"inherits": "AliZ PLA @base",
|
||||||
"from": "system",
|
"from": "system",
|
||||||
"setting_id": "fRELapY8YiP4qrBW",
|
"setting_id": "AliZ002_00",
|
||||||
"instantiation": "true",
|
"instantiation": "true",
|
||||||
"enable_pressure_advance": [
|
"enable_pressure_advance": [
|
||||||
"1"
|
"1"
|
||||||
+1
-1
@@ -3,7 +3,7 @@
|
|||||||
"name": "BETA ABS @BBL A1",
|
"name": "BETA ABS @BBL A1",
|
||||||
"inherits": "BETA ABS @base",
|
"inherits": "BETA ABS @base",
|
||||||
"from": "system",
|
"from": "system",
|
||||||
"setting_id": "dUGRrmxU89pRaJ2Z",
|
"setting_id": "BABB00_07",
|
||||||
"instantiation": "true",
|
"instantiation": "true",
|
||||||
"fan_max_speed": [
|
"fan_max_speed": [
|
||||||
"20"
|
"20"
|
||||||
+1
-1
@@ -3,7 +3,7 @@
|
|||||||
"name": "BETA ABS @BBL H2D",
|
"name": "BETA ABS @BBL H2D",
|
||||||
"inherits": "BETA ABS @base",
|
"inherits": "BETA ABS @base",
|
||||||
"from": "system",
|
"from": "system",
|
||||||
"setting_id": "oxZKTEMd8TpyoH39",
|
"setting_id": "BABB00_11",
|
||||||
"instantiation": "true",
|
"instantiation": "true",
|
||||||
"chamber_temperatures": [
|
"chamber_temperatures": [
|
||||||
"65"
|
"65"
|
||||||
+1
-1
@@ -3,7 +3,7 @@
|
|||||||
"name": "BETA ABS @BBL P1P",
|
"name": "BETA ABS @BBL P1P",
|
||||||
"inherits": "BETA ABS @base",
|
"inherits": "BETA ABS @base",
|
||||||
"from": "system",
|
"from": "system",
|
||||||
"setting_id": "MPYyfCKMsJZy8GaY",
|
"setting_id": "BABB00_03",
|
||||||
"instantiation": "true",
|
"instantiation": "true",
|
||||||
"fan_max_speed": [
|
"fan_max_speed": [
|
||||||
"20"
|
"20"
|
||||||
+1
-1
@@ -3,7 +3,7 @@
|
|||||||
"name": "BETA ABS @BBL X1C",
|
"name": "BETA ABS @BBL X1C",
|
||||||
"inherits": "BETA ABS @base",
|
"inherits": "BETA ABS @base",
|
||||||
"from": "system",
|
"from": "system",
|
||||||
"setting_id": "vMA7EhgNDT4MwMRr",
|
"setting_id": "BABB00",
|
||||||
"instantiation": "true",
|
"instantiation": "true",
|
||||||
"fan_max_speed": [
|
"fan_max_speed": [
|
||||||
"60"
|
"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",
|
"name": "BETA ASA @BBL A1 0.4 nozzle",
|
||||||
"inherits": "BETA ASA @base",
|
"inherits": "BETA ASA @base",
|
||||||
"from": "system",
|
"from": "system",
|
||||||
"setting_id": "LevRG7t9mTlEseaB",
|
"setting_id": "BASB00_09",
|
||||||
"instantiation": "true",
|
"instantiation": "true",
|
||||||
"chamber_temperatures": [
|
"chamber_temperatures": [
|
||||||
"60"
|
"60"
|
||||||
+1
-1
@@ -3,7 +3,7 @@
|
|||||||
"name": "BETA ASA @BBL H2D 0.4 nozzle",
|
"name": "BETA ASA @BBL H2D 0.4 nozzle",
|
||||||
"inherits": "BETA ASA @base",
|
"inherits": "BETA ASA @base",
|
||||||
"from": "system",
|
"from": "system",
|
||||||
"setting_id": "3NBkWTXmqi8eRUhi",
|
"setting_id": "BASB00_13",
|
||||||
"instantiation": "true",
|
"instantiation": "true",
|
||||||
"chamber_temperatures": [
|
"chamber_temperatures": [
|
||||||
"65"
|
"65"
|
||||||
+1
-1
@@ -3,7 +3,7 @@
|
|||||||
"name": "BETA ASA @BBL X1C 0.4 nozzle",
|
"name": "BETA ASA @BBL X1C 0.4 nozzle",
|
||||||
"inherits": "BETA ASA @base",
|
"inherits": "BETA ASA @base",
|
||||||
"from": "system",
|
"from": "system",
|
||||||
"setting_id": "0nWTEZkH7NKXgCib",
|
"setting_id": "BASB00_02",
|
||||||
"instantiation": "true",
|
"instantiation": "true",
|
||||||
"chamber_temperatures": [
|
"chamber_temperatures": [
|
||||||
"60"
|
"60"
|
||||||
-48
@@ -53,53 +53,5 @@
|
|||||||
],
|
],
|
||||||
"textured_plate_temp_initial_layer": [
|
"textured_plate_temp_initial_layer": [
|
||||||
"100"
|
"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",
|
"name": "BETA HIPS @BBL H2D",
|
||||||
"inherits": "BETA HIPS @base",
|
"inherits": "BETA HIPS @base",
|
||||||
"from": "system",
|
"from": "system",
|
||||||
"setting_id": "9nN2uWxlYH1c507A",
|
"setting_id": "BHIB00_06",
|
||||||
"instantiation": "true",
|
"instantiation": "true",
|
||||||
"filament_deretraction_speed": [
|
"filament_deretraction_speed": [
|
||||||
"nil",
|
"nil",
|
||||||
+1
-1
@@ -3,7 +3,7 @@
|
|||||||
"name": "BETA HIPS @BBL X1C",
|
"name": "BETA HIPS @BBL X1C",
|
||||||
"inherits": "BETA HIPS @base",
|
"inherits": "BETA HIPS @base",
|
||||||
"from": "system",
|
"from": "system",
|
||||||
"setting_id": "mTcT8sCciWyX5enc",
|
"setting_id": "BHIB00_00",
|
||||||
"instantiation": "true",
|
"instantiation": "true",
|
||||||
"filament_max_volumetric_speed": [
|
"filament_max_volumetric_speed": [
|
||||||
"8",
|
"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",
|
"name": "BETA PAHT-CF @BBL H2D",
|
||||||
"inherits": "BETA PAHT-CF @base",
|
"inherits": "BETA PAHT-CF @base",
|
||||||
"from": "system",
|
"from": "system",
|
||||||
"setting_id": "YbYCVQd5IR0sQR8S",
|
"setting_id": "BPAB00_01",
|
||||||
"instantiation": "true",
|
"instantiation": "true",
|
||||||
"chamber_temperatures": [
|
"chamber_temperatures": [
|
||||||
"60"
|
"60"
|
||||||
+1
-1
@@ -3,7 +3,7 @@
|
|||||||
"name": "BETA PAHT-CF @BBL P1P",
|
"name": "BETA PAHT-CF @BBL P1P",
|
||||||
"inherits": "BETA PAHT-CF @base",
|
"inherits": "BETA PAHT-CF @base",
|
||||||
"from": "system",
|
"from": "system",
|
||||||
"setting_id": "5O5fzmFrT3O1k1H0",
|
"setting_id": "BPAB00_10",
|
||||||
"instantiation": "true",
|
"instantiation": "true",
|
||||||
"filament_flow_ratio": [
|
"filament_flow_ratio": [
|
||||||
"0.96",
|
"0.96",
|
||||||
+1
-1
@@ -3,7 +3,7 @@
|
|||||||
"name": "BETA PAHT-CF @BBL X1C",
|
"name": "BETA PAHT-CF @BBL X1C",
|
||||||
"inherits": "BETA PAHT-CF @base",
|
"inherits": "BETA PAHT-CF @base",
|
||||||
"from": "system",
|
"from": "system",
|
||||||
"setting_id": "gB5HLYTDCooFy2W5",
|
"setting_id": "BPAB00",
|
||||||
"instantiation": "true",
|
"instantiation": "true",
|
||||||
"chamber_temperatures": [
|
"chamber_temperatures": [
|
||||||
"60"
|
"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",
|
"name": "BETA PEBA 90A @BBL A1",
|
||||||
"inherits": "BETA PEBA 90A @base",
|
"inherits": "BETA PEBA 90A @base",
|
||||||
"from": "system",
|
"from": "system",
|
||||||
"setting_id": "A57Sbar56Ah1NiU7",
|
"setting_id": "BPBB00_04",
|
||||||
"instantiation": "true",
|
"instantiation": "true",
|
||||||
"filament_density": [
|
"filament_density": [
|
||||||
"1.22"
|
"1.22"
|
||||||
+1
-1
@@ -3,7 +3,7 @@
|
|||||||
"name": "BETA PEBA 90A @BBL A1M",
|
"name": "BETA PEBA 90A @BBL A1M",
|
||||||
"inherits": "BETA PEBA 90A @base",
|
"inherits": "BETA PEBA 90A @base",
|
||||||
"from": "system",
|
"from": "system",
|
||||||
"setting_id": "OoLkWS147R0AasZc",
|
"setting_id": "BPBB00_05",
|
||||||
"instantiation": "true",
|
"instantiation": "true",
|
||||||
"filament_density": [
|
"filament_density": [
|
||||||
"1.22"
|
"1.22"
|
||||||
+1
-1
@@ -3,7 +3,7 @@
|
|||||||
"name": "BETA PEBA 90A @BBL H2D",
|
"name": "BETA PEBA 90A @BBL H2D",
|
||||||
"inherits": "BETA PEBA 90A @base",
|
"inherits": "BETA PEBA 90A @base",
|
||||||
"from": "system",
|
"from": "system",
|
||||||
"setting_id": "91b8WTzvOky9wAVK",
|
"setting_id": "BPBB00_02",
|
||||||
"instantiation": "true",
|
"instantiation": "true",
|
||||||
"additional_cooling_fan_speed": [
|
"additional_cooling_fan_speed": [
|
||||||
"100"
|
"100"
|
||||||
+1
-1
@@ -3,7 +3,7 @@
|
|||||||
"name": "BETA PEBA 90A @BBL P1P",
|
"name": "BETA PEBA 90A @BBL P1P",
|
||||||
"inherits": "BETA PEBA 90A @base",
|
"inherits": "BETA PEBA 90A @base",
|
||||||
"from": "system",
|
"from": "system",
|
||||||
"setting_id": "ydudEBLRmj1WSXqB",
|
"setting_id": "BPBB00_01",
|
||||||
"instantiation": "true",
|
"instantiation": "true",
|
||||||
"filament_max_volumetric_speed": [
|
"filament_max_volumetric_speed": [
|
||||||
"2.8",
|
"2.8",
|
||||||
+1
-1
@@ -3,7 +3,7 @@
|
|||||||
"name": "BETA PEBA 90A @BBL X1C",
|
"name": "BETA PEBA 90A @BBL X1C",
|
||||||
"inherits": "BETA PEBA 90A @base",
|
"inherits": "BETA PEBA 90A @base",
|
||||||
"from": "system",
|
"from": "system",
|
||||||
"setting_id": "F1hTal3M92tBjv2N",
|
"setting_id": "BPBB00_00",
|
||||||
"instantiation": "true",
|
"instantiation": "true",
|
||||||
"filament_max_volumetric_speed": [
|
"filament_max_volumetric_speed": [
|
||||||
"2.8",
|
"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",
|
"name": "BETA PETG @BBL A1",
|
||||||
"inherits": "BETA PETG @base",
|
"inherits": "BETA PETG @base",
|
||||||
"from": "system",
|
"from": "system",
|
||||||
"setting_id": "EpYzxZwVHvLaseku",
|
"setting_id": "BPGB00_06",
|
||||||
"instantiation": "true",
|
"instantiation": "true",
|
||||||
"fan_max_speed": [
|
"fan_max_speed": [
|
||||||
"50"
|
"50"
|
||||||
+1
-1
@@ -3,7 +3,7 @@
|
|||||||
"name": "BETA PETG @BBL A1M 0.4 nozzle",
|
"name": "BETA PETG @BBL A1M 0.4 nozzle",
|
||||||
"inherits": "BETA PETG @base",
|
"inherits": "BETA PETG @base",
|
||||||
"from": "system",
|
"from": "system",
|
||||||
"setting_id": "5V0hyhzFoDU8Tfwm",
|
"setting_id": "BPGB00_03",
|
||||||
"instantiation": "true",
|
"instantiation": "true",
|
||||||
"fan_max_speed": [
|
"fan_max_speed": [
|
||||||
"50"
|
"50"
|
||||||
+1
-1
@@ -3,7 +3,7 @@
|
|||||||
"name": "BETA PETG @BBL H2D 0.4 nozzle",
|
"name": "BETA PETG @BBL H2D 0.4 nozzle",
|
||||||
"inherits": "BETA PETG @base",
|
"inherits": "BETA PETG @base",
|
||||||
"from": "system",
|
"from": "system",
|
||||||
"setting_id": "KnKvUsD4rSpQU413",
|
"setting_id": "BPGB00_09",
|
||||||
"instantiation": "true",
|
"instantiation": "true",
|
||||||
"fan_max_speed": [
|
"fan_max_speed": [
|
||||||
"30"
|
"30"
|
||||||
+1
-1
@@ -3,7 +3,7 @@
|
|||||||
"name": "BETA PETG @BBL X1C",
|
"name": "BETA PETG @BBL X1C",
|
||||||
"inherits": "BETA PETG @base",
|
"inherits": "BETA PETG @base",
|
||||||
"from": "system",
|
"from": "system",
|
||||||
"setting_id": "uM6wHdt0N5ftZRge",
|
"setting_id": "BPGB00_01",
|
||||||
"instantiation": "true",
|
"instantiation": "true",
|
||||||
"fan_min_speed": [
|
"fan_min_speed": [
|
||||||
"20"
|
"20"
|
||||||
-43
@@ -92,48 +92,5 @@
|
|||||||
],
|
],
|
||||||
"filament_start_gcode": [
|
"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}"
|
"; 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",
|
"name": "BETA PETG Fluorescence @BBL A1",
|
||||||
"inherits": "BETA PETG Fluorescence @base",
|
"inherits": "BETA PETG Fluorescence @base",
|
||||||
"from": "system",
|
"from": "system",
|
||||||
"setting_id": "ZtyTtAWsZnLGsM0O",
|
"setting_id": "BPGB02_06",
|
||||||
"instantiation": "true",
|
"instantiation": "true",
|
||||||
"fan_max_speed": [
|
"fan_max_speed": [
|
||||||
"50"
|
"50"
|
||||||
+1
-1
@@ -3,7 +3,7 @@
|
|||||||
"name": "BETA PETG Fluorescence @BBL A1M 0.4 nozzle",
|
"name": "BETA PETG Fluorescence @BBL A1M 0.4 nozzle",
|
||||||
"inherits": "BETA PETG Fluorescence @base",
|
"inherits": "BETA PETG Fluorescence @base",
|
||||||
"from": "system",
|
"from": "system",
|
||||||
"setting_id": "VUSunTT0OJa7iOSd",
|
"setting_id": "BPGB02_03",
|
||||||
"instantiation": "true",
|
"instantiation": "true",
|
||||||
"fan_max_speed": [
|
"fan_max_speed": [
|
||||||
"50"
|
"50"
|
||||||
+1
-1
@@ -3,7 +3,7 @@
|
|||||||
"name": "BETA PETG Fluorescence @BBL H2D 0.4 nozzle",
|
"name": "BETA PETG Fluorescence @BBL H2D 0.4 nozzle",
|
||||||
"inherits": "BETA PETG Fluorescence @base",
|
"inherits": "BETA PETG Fluorescence @base",
|
||||||
"from": "system",
|
"from": "system",
|
||||||
"setting_id": "JHg4y0pxAOtoJSuw",
|
"setting_id": "BPGB02_09",
|
||||||
"instantiation": "true",
|
"instantiation": "true",
|
||||||
"fan_max_speed": [
|
"fan_max_speed": [
|
||||||
"30"
|
"30"
|
||||||
+1
-1
@@ -3,7 +3,7 @@
|
|||||||
"name": "BETA PETG Fluorescence @BBL X1C",
|
"name": "BETA PETG Fluorescence @BBL X1C",
|
||||||
"inherits": "BETA PETG Fluorescence @base",
|
"inherits": "BETA PETG Fluorescence @base",
|
||||||
"from": "system",
|
"from": "system",
|
||||||
"setting_id": "pCetfFvyLLw3vS2j",
|
"setting_id": "BPGB02_01",
|
||||||
"instantiation": "true",
|
"instantiation": "true",
|
||||||
"fan_min_speed": [
|
"fan_min_speed": [
|
||||||
"20"
|
"20"
|
||||||
-43
@@ -92,48 +92,5 @@
|
|||||||
],
|
],
|
||||||
"filament_start_gcode": [
|
"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}"
|
"; 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",
|
"name": "BETA PETG Glitter @BBL A1",
|
||||||
"inherits": "BETA PETG Glitter @base",
|
"inherits": "BETA PETG Glitter @base",
|
||||||
"from": "system",
|
"from": "system",
|
||||||
"setting_id": "cz5dC7OrXDlX1Ctj",
|
"setting_id": "BPGB03_06",
|
||||||
"instantiation": "true",
|
"instantiation": "true",
|
||||||
"fan_max_speed": [
|
"fan_max_speed": [
|
||||||
"50"
|
"50"
|
||||||
+1
-1
@@ -3,7 +3,7 @@
|
|||||||
"name": "BETA PETG Glitter @BBL A1M 0.4 nozzle",
|
"name": "BETA PETG Glitter @BBL A1M 0.4 nozzle",
|
||||||
"inherits": "BETA PETG Glitter @base",
|
"inherits": "BETA PETG Glitter @base",
|
||||||
"from": "system",
|
"from": "system",
|
||||||
"setting_id": "PozWnOfZ2l7HqTpx",
|
"setting_id": "BPGB03_03",
|
||||||
"instantiation": "true",
|
"instantiation": "true",
|
||||||
"fan_max_speed": [
|
"fan_max_speed": [
|
||||||
"50"
|
"50"
|
||||||
+1
-1
@@ -3,7 +3,7 @@
|
|||||||
"name": "BETA PETG Glitter @BBL H2D 0.4 nozzle",
|
"name": "BETA PETG Glitter @BBL H2D 0.4 nozzle",
|
||||||
"inherits": "BETA PETG Glitter @base",
|
"inherits": "BETA PETG Glitter @base",
|
||||||
"from": "system",
|
"from": "system",
|
||||||
"setting_id": "ijW4zvNAQ3DIK984",
|
"setting_id": "BPGB03_09",
|
||||||
"instantiation": "true",
|
"instantiation": "true",
|
||||||
"fan_max_speed": [
|
"fan_max_speed": [
|
||||||
"30"
|
"30"
|
||||||
+1
-1
@@ -3,7 +3,7 @@
|
|||||||
"name": "BETA PETG Glitter @BBL X1C",
|
"name": "BETA PETG Glitter @BBL X1C",
|
||||||
"inherits": "BETA PETG Glitter @base",
|
"inherits": "BETA PETG Glitter @base",
|
||||||
"from": "system",
|
"from": "system",
|
||||||
"setting_id": "UI220qldPoLY8VZN",
|
"setting_id": "BPGB03_01",
|
||||||
"instantiation": "true",
|
"instantiation": "true",
|
||||||
"fan_min_speed": [
|
"fan_min_speed": [
|
||||||
"20"
|
"20"
|
||||||
-43
@@ -92,48 +92,5 @@
|
|||||||
],
|
],
|
||||||
"filament_start_gcode": [
|
"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}"
|
"; 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",
|
"name": "BETA PETG Glow @BBL A1",
|
||||||
"inherits": "BETA PETG Glow @base",
|
"inherits": "BETA PETG Glow @base",
|
||||||
"from": "system",
|
"from": "system",
|
||||||
"setting_id": "LudMQeiSJOLw0Aoy",
|
"setting_id": "BPGB04_06",
|
||||||
"instantiation": "true",
|
"instantiation": "true",
|
||||||
"fan_max_speed": [
|
"fan_max_speed": [
|
||||||
"50"
|
"50"
|
||||||
+1
-1
@@ -3,7 +3,7 @@
|
|||||||
"name": "BETA PETG Glow @BBL A1M 0.4 nozzle",
|
"name": "BETA PETG Glow @BBL A1M 0.4 nozzle",
|
||||||
"inherits": "BETA PETG Glow @base",
|
"inherits": "BETA PETG Glow @base",
|
||||||
"from": "system",
|
"from": "system",
|
||||||
"setting_id": "cl1Rl9hgrahhhSd3",
|
"setting_id": "BPGB04_03",
|
||||||
"instantiation": "true",
|
"instantiation": "true",
|
||||||
"fan_max_speed": [
|
"fan_max_speed": [
|
||||||
"50"
|
"50"
|
||||||
+1
-1
@@ -3,7 +3,7 @@
|
|||||||
"name": "BETA PETG Glow @BBL H2D 0.4 nozzle",
|
"name": "BETA PETG Glow @BBL H2D 0.4 nozzle",
|
||||||
"inherits": "BETA PETG Glow @base",
|
"inherits": "BETA PETG Glow @base",
|
||||||
"from": "system",
|
"from": "system",
|
||||||
"setting_id": "3s9w3mH6M4OdbrUV",
|
"setting_id": "BPGB04_09",
|
||||||
"instantiation": "true",
|
"instantiation": "true",
|
||||||
"fan_max_speed": [
|
"fan_max_speed": [
|
||||||
"30"
|
"30"
|
||||||
+1
-1
@@ -3,7 +3,7 @@
|
|||||||
"name": "BETA PETG Glow @BBL X1C",
|
"name": "BETA PETG Glow @BBL X1C",
|
||||||
"inherits": "BETA PETG Glow @base",
|
"inherits": "BETA PETG Glow @base",
|
||||||
"from": "system",
|
"from": "system",
|
||||||
"setting_id": "wv5FRKdnsHaIFA7L",
|
"setting_id": "BPGB04_01",
|
||||||
"instantiation": "true",
|
"instantiation": "true",
|
||||||
"fan_min_speed": [
|
"fan_min_speed": [
|
||||||
"20"
|
"20"
|
||||||
-43
@@ -92,48 +92,5 @@
|
|||||||
],
|
],
|
||||||
"filament_start_gcode": [
|
"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}"
|
"; 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",
|
"name": "BETA PETG Gradient @BBL A1",
|
||||||
"inherits": "BETA PETG Gradient @base",
|
"inherits": "BETA PETG Gradient @base",
|
||||||
"from": "system",
|
"from": "system",
|
||||||
"setting_id": "L3hZggzEZUgUv0Qv",
|
"setting_id": "BPGB05_06",
|
||||||
"instantiation": "true",
|
"instantiation": "true",
|
||||||
"fan_max_speed": [
|
"fan_max_speed": [
|
||||||
"50"
|
"50"
|
||||||
+1
-1
@@ -3,7 +3,7 @@
|
|||||||
"name": "BETA PETG Gradient @BBL A1M 0.4 nozzle",
|
"name": "BETA PETG Gradient @BBL A1M 0.4 nozzle",
|
||||||
"inherits": "BETA PETG Gradient @base",
|
"inherits": "BETA PETG Gradient @base",
|
||||||
"from": "system",
|
"from": "system",
|
||||||
"setting_id": "zsITnsNFRG7IE6sR",
|
"setting_id": "BPGB05_03",
|
||||||
"instantiation": "true",
|
"instantiation": "true",
|
||||||
"fan_max_speed": [
|
"fan_max_speed": [
|
||||||
"50"
|
"50"
|
||||||
+1
-1
@@ -3,7 +3,7 @@
|
|||||||
"name": "BETA PETG Gradient @BBL H2D 0.4 nozzle",
|
"name": "BETA PETG Gradient @BBL H2D 0.4 nozzle",
|
||||||
"inherits": "BETA PETG Gradient @base",
|
"inherits": "BETA PETG Gradient @base",
|
||||||
"from": "system",
|
"from": "system",
|
||||||
"setting_id": "GqmCuPg6baUxeoYS",
|
"setting_id": "BPGB05_09",
|
||||||
"instantiation": "true",
|
"instantiation": "true",
|
||||||
"fan_max_speed": [
|
"fan_max_speed": [
|
||||||
"30"
|
"30"
|
||||||
+1
-1
@@ -3,7 +3,7 @@
|
|||||||
"name": "BETA PETG Gradient @BBL X1C",
|
"name": "BETA PETG Gradient @BBL X1C",
|
||||||
"inherits": "BETA PETG Gradient @base",
|
"inherits": "BETA PETG Gradient @base",
|
||||||
"from": "system",
|
"from": "system",
|
||||||
"setting_id": "oYJjUiaCI4UBZ0ur",
|
"setting_id": "BPGB05_01",
|
||||||
"instantiation": "true",
|
"instantiation": "true",
|
||||||
"fan_min_speed": [
|
"fan_min_speed": [
|
||||||
"20"
|
"20"
|
||||||
-43
@@ -92,48 +92,5 @@
|
|||||||
],
|
],
|
||||||
"filament_start_gcode": [
|
"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}"
|
"; 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",
|
"name": "BETA PETG HF @BBL A1",
|
||||||
"inherits": "BETA PETG HF @base",
|
"inherits": "BETA PETG HF @base",
|
||||||
"from": "system",
|
"from": "system",
|
||||||
"setting_id": "T2Ea25pM2u9BM7Oa",
|
"setting_id": "BPGB06_03",
|
||||||
"instantiation": "true",
|
"instantiation": "true",
|
||||||
"fan_cooling_layer_time": [
|
"fan_cooling_layer_time": [
|
||||||
"15"
|
"15"
|
||||||
+1
-1
@@ -3,7 +3,7 @@
|
|||||||
"name": "BETA PETG HF @BBL A1M",
|
"name": "BETA PETG HF @BBL A1M",
|
||||||
"inherits": "BETA PETG HF @base",
|
"inherits": "BETA PETG HF @base",
|
||||||
"from": "system",
|
"from": "system",
|
||||||
"setting_id": "nO5R86dkDle1m5Pq",
|
"setting_id": "BPGB06_06",
|
||||||
"instantiation": "true",
|
"instantiation": "true",
|
||||||
"fan_cooling_layer_time": [
|
"fan_cooling_layer_time": [
|
||||||
"15"
|
"15"
|
||||||
+1
-1
@@ -3,7 +3,7 @@
|
|||||||
"name": "BETA PETG HF @BBL H2D 0.4 nozzle",
|
"name": "BETA PETG HF @BBL H2D 0.4 nozzle",
|
||||||
"inherits": "BETA PETG HF @base",
|
"inherits": "BETA PETG HF @base",
|
||||||
"from": "system",
|
"from": "system",
|
||||||
"setting_id": "YOBguayM9PiwkpfT",
|
"setting_id": "BPGB06_09",
|
||||||
"instantiation": "true",
|
"instantiation": "true",
|
||||||
"counter_coef_2": [
|
"counter_coef_2": [
|
||||||
"0.007"
|
"0.007"
|
||||||
+1
-1
@@ -3,7 +3,7 @@
|
|||||||
"name": "BETA PETG HF @BBL X1C",
|
"name": "BETA PETG HF @BBL X1C",
|
||||||
"inherits": "BETA PETG HF @base",
|
"inherits": "BETA PETG HF @base",
|
||||||
"from": "system",
|
"from": "system",
|
||||||
"setting_id": "EG3h0IHVO1yyVNMs",
|
"setting_id": "BPGB06_00",
|
||||||
"instantiation": "true",
|
"instantiation": "true",
|
||||||
"fan_cooling_layer_time": [
|
"fan_cooling_layer_time": [
|
||||||
"20"
|
"20"
|
||||||
-43
@@ -85,48 +85,5 @@
|
|||||||
],
|
],
|
||||||
"filament_start_gcode": [
|
"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}"
|
"; 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",
|
"name": "BETA PETG Heat Color Change @BBL A1",
|
||||||
"inherits": "BETA PETG Heat Color Change @base",
|
"inherits": "BETA PETG Heat Color Change @base",
|
||||||
"from": "system",
|
"from": "system",
|
||||||
"setting_id": "ZhHASdXFywqbRuBf",
|
"setting_id": "BPGB01_06",
|
||||||
"instantiation": "true",
|
"instantiation": "true",
|
||||||
"fan_max_speed": [
|
"fan_max_speed": [
|
||||||
"50"
|
"50"
|
||||||
+1
-1
@@ -3,7 +3,7 @@
|
|||||||
"name": "BETA PETG Heat Color Change @BBL A1M 0.4 nozzle",
|
"name": "BETA PETG Heat Color Change @BBL A1M 0.4 nozzle",
|
||||||
"inherits": "BETA PETG Heat Color Change @base",
|
"inherits": "BETA PETG Heat Color Change @base",
|
||||||
"from": "system",
|
"from": "system",
|
||||||
"setting_id": "YiFgzCJDAOW9YSjZ",
|
"setting_id": "BPGB01_03",
|
||||||
"instantiation": "true",
|
"instantiation": "true",
|
||||||
"fan_max_speed": [
|
"fan_max_speed": [
|
||||||
"50"
|
"50"
|
||||||
+1
-1
@@ -3,7 +3,7 @@
|
|||||||
"name": "BETA PETG Heat Color Change @BBL H2D 0.4 nozzle",
|
"name": "BETA PETG Heat Color Change @BBL H2D 0.4 nozzle",
|
||||||
"inherits": "BETA PETG Heat Color Change @base",
|
"inherits": "BETA PETG Heat Color Change @base",
|
||||||
"from": "system",
|
"from": "system",
|
||||||
"setting_id": "DpWgpTiKdm70Xt1i",
|
"setting_id": "BPGB01_09",
|
||||||
"instantiation": "true",
|
"instantiation": "true",
|
||||||
"fan_max_speed": [
|
"fan_max_speed": [
|
||||||
"30"
|
"30"
|
||||||
+1
-1
@@ -3,7 +3,7 @@
|
|||||||
"name": "BETA PETG Heat Color Change @BBL X1C",
|
"name": "BETA PETG Heat Color Change @BBL X1C",
|
||||||
"inherits": "BETA PETG Heat Color Change @base",
|
"inherits": "BETA PETG Heat Color Change @base",
|
||||||
"from": "system",
|
"from": "system",
|
||||||
"setting_id": "3lJe6ftSHQDkQZ1S",
|
"setting_id": "BPGB01_01",
|
||||||
"instantiation": "true",
|
"instantiation": "true",
|
||||||
"fan_min_speed": [
|
"fan_min_speed": [
|
||||||
"20"
|
"20"
|
||||||
-43
@@ -92,48 +92,5 @@
|
|||||||
],
|
],
|
||||||
"filament_start_gcode": [
|
"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}"
|
"; 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",
|
"name": "BETA PETG Marble @BBL A1",
|
||||||
"inherits": "BETA PETG Marble @base",
|
"inherits": "BETA PETG Marble @base",
|
||||||
"from": "system",
|
"from": "system",
|
||||||
"setting_id": "tSCDuE4dE44PyIwb",
|
"setting_id": "BPGB07_06",
|
||||||
"instantiation": "true",
|
"instantiation": "true",
|
||||||
"fan_max_speed": [
|
"fan_max_speed": [
|
||||||
"50"
|
"50"
|
||||||
+1
-1
@@ -3,7 +3,7 @@
|
|||||||
"name": "BETA PETG Marble @BBL A1M 0.4 nozzle",
|
"name": "BETA PETG Marble @BBL A1M 0.4 nozzle",
|
||||||
"inherits": "BETA PETG Marble @base",
|
"inherits": "BETA PETG Marble @base",
|
||||||
"from": "system",
|
"from": "system",
|
||||||
"setting_id": "n6dguOo5ZleD6Ec4",
|
"setting_id": "BPGB07_03",
|
||||||
"instantiation": "true",
|
"instantiation": "true",
|
||||||
"fan_max_speed": [
|
"fan_max_speed": [
|
||||||
"50"
|
"50"
|
||||||
+1
-1
@@ -3,7 +3,7 @@
|
|||||||
"name": "BETA PETG Marble @BBL H2D 0.4 nozzle",
|
"name": "BETA PETG Marble @BBL H2D 0.4 nozzle",
|
||||||
"inherits": "BETA PETG Marble @base",
|
"inherits": "BETA PETG Marble @base",
|
||||||
"from": "system",
|
"from": "system",
|
||||||
"setting_id": "RxCTxdvym4iNOB5j",
|
"setting_id": "BPGB07_09",
|
||||||
"instantiation": "true",
|
"instantiation": "true",
|
||||||
"fan_max_speed": [
|
"fan_max_speed": [
|
||||||
"30"
|
"30"
|
||||||
+1
-1
@@ -3,7 +3,7 @@
|
|||||||
"name": "BETA PETG Marble @BBL X1C",
|
"name": "BETA PETG Marble @BBL X1C",
|
||||||
"inherits": "BETA PETG Marble @base",
|
"inherits": "BETA PETG Marble @base",
|
||||||
"from": "system",
|
"from": "system",
|
||||||
"setting_id": "3BgsPAgilo1MgtOV",
|
"setting_id": "BPGB07_01",
|
||||||
"instantiation": "true",
|
"instantiation": "true",
|
||||||
"fan_min_speed": [
|
"fan_min_speed": [
|
||||||
"20"
|
"20"
|
||||||
-43
@@ -92,48 +92,5 @@
|
|||||||
],
|
],
|
||||||
"filament_start_gcode": [
|
"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}"
|
"; 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",
|
"name": "BETA PETG Matte @BBL A1",
|
||||||
"inherits": "BETA PETG Matte @base",
|
"inherits": "BETA PETG Matte @base",
|
||||||
"from": "system",
|
"from": "system",
|
||||||
"setting_id": "zYkrzQk11C98R31F",
|
"setting_id": "BPGB08_06",
|
||||||
"instantiation": "true",
|
"instantiation": "true",
|
||||||
"fan_max_speed": [
|
"fan_max_speed": [
|
||||||
"50"
|
"50"
|
||||||
+1
-1
@@ -3,7 +3,7 @@
|
|||||||
"name": "BETA PETG Matte @BBL A1M 0.4 nozzle",
|
"name": "BETA PETG Matte @BBL A1M 0.4 nozzle",
|
||||||
"inherits": "BETA PETG Matte @base",
|
"inherits": "BETA PETG Matte @base",
|
||||||
"from": "system",
|
"from": "system",
|
||||||
"setting_id": "rzX5oP4037Ex5Chh",
|
"setting_id": "BPGB08_03",
|
||||||
"instantiation": "true",
|
"instantiation": "true",
|
||||||
"fan_max_speed": [
|
"fan_max_speed": [
|
||||||
"50"
|
"50"
|
||||||
+1
-1
@@ -3,7 +3,7 @@
|
|||||||
"name": "BETA PETG Matte @BBL H2D 0.4 nozzle",
|
"name": "BETA PETG Matte @BBL H2D 0.4 nozzle",
|
||||||
"inherits": "BETA PETG Matte @base",
|
"inherits": "BETA PETG Matte @base",
|
||||||
"from": "system",
|
"from": "system",
|
||||||
"setting_id": "sqz8Vluq7GMd3siv",
|
"setting_id": "BPGB08_09",
|
||||||
"instantiation": "true",
|
"instantiation": "true",
|
||||||
"fan_max_speed": [
|
"fan_max_speed": [
|
||||||
"30"
|
"30"
|
||||||
+1
-1
@@ -3,7 +3,7 @@
|
|||||||
"name": "BETA PETG Matte @BBL X1C",
|
"name": "BETA PETG Matte @BBL X1C",
|
||||||
"inherits": "BETA PETG Matte @base",
|
"inherits": "BETA PETG Matte @base",
|
||||||
"from": "system",
|
"from": "system",
|
||||||
"setting_id": "NXgqYCqHeVCgFF3I",
|
"setting_id": "BPGB08_01",
|
||||||
"instantiation": "true",
|
"instantiation": "true",
|
||||||
"fan_min_speed": [
|
"fan_min_speed": [
|
||||||
"20"
|
"20"
|
||||||
-43
@@ -92,48 +92,5 @@
|
|||||||
],
|
],
|
||||||
"filament_start_gcode": [
|
"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}"
|
"; 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",
|
"name": "BETA PETG Metallic @BBL A1",
|
||||||
"inherits": "BETA PETG Metallic @base",
|
"inherits": "BETA PETG Metallic @base",
|
||||||
"from": "system",
|
"from": "system",
|
||||||
"setting_id": "1baUIJ3P8n6DcyRc",
|
"setting_id": "BPGB09_06",
|
||||||
"instantiation": "true",
|
"instantiation": "true",
|
||||||
"fan_max_speed": [
|
"fan_max_speed": [
|
||||||
"50"
|
"50"
|
||||||
+1
-1
@@ -3,7 +3,7 @@
|
|||||||
"name": "BETA PETG Metallic @BBL A1M 0.4 nozzle",
|
"name": "BETA PETG Metallic @BBL A1M 0.4 nozzle",
|
||||||
"inherits": "BETA PETG Metallic @base",
|
"inherits": "BETA PETG Metallic @base",
|
||||||
"from": "system",
|
"from": "system",
|
||||||
"setting_id": "LMsVDqsChBksLNqL",
|
"setting_id": "BPGB09_03",
|
||||||
"instantiation": "true",
|
"instantiation": "true",
|
||||||
"fan_max_speed": [
|
"fan_max_speed": [
|
||||||
"50"
|
"50"
|
||||||
+1
-1
@@ -3,7 +3,7 @@
|
|||||||
"name": "BETA PETG Metallic @BBL H2D 0.4 nozzle",
|
"name": "BETA PETG Metallic @BBL H2D 0.4 nozzle",
|
||||||
"inherits": "BETA PETG Metallic @base",
|
"inherits": "BETA PETG Metallic @base",
|
||||||
"from": "system",
|
"from": "system",
|
||||||
"setting_id": "giq8BW6qcwz91e4C",
|
"setting_id": "BPGB09_09",
|
||||||
"instantiation": "true",
|
"instantiation": "true",
|
||||||
"fan_max_speed": [
|
"fan_max_speed": [
|
||||||
"30"
|
"30"
|
||||||
+1
-1
@@ -3,7 +3,7 @@
|
|||||||
"name": "BETA PETG Metallic @BBL X1C",
|
"name": "BETA PETG Metallic @BBL X1C",
|
||||||
"inherits": "BETA PETG Metallic @base",
|
"inherits": "BETA PETG Metallic @base",
|
||||||
"from": "system",
|
"from": "system",
|
||||||
"setting_id": "tZzoc2LdgWkpEiox",
|
"setting_id": "BPGB09_01",
|
||||||
"instantiation": "true",
|
"instantiation": "true",
|
||||||
"fan_min_speed": [
|
"fan_min_speed": [
|
||||||
"20"
|
"20"
|
||||||
-43
@@ -92,48 +92,5 @@
|
|||||||
],
|
],
|
||||||
"filament_start_gcode": [
|
"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}"
|
"; 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",
|
"name": "BETA PETG Transparent @BBL A1",
|
||||||
"inherits": "BETA PETG Transparent @base",
|
"inherits": "BETA PETG Transparent @base",
|
||||||
"from": "system",
|
"from": "system",
|
||||||
"setting_id": "86loYV5S4bgO2FOx",
|
"setting_id": "BPGB10_05",
|
||||||
"instantiation": "true",
|
"instantiation": "true",
|
||||||
"filament_long_retractions_when_cut": [
|
"filament_long_retractions_when_cut": [
|
||||||
"1"
|
"1"
|
||||||
+1
-1
@@ -3,7 +3,7 @@
|
|||||||
"name": "BETA PETG Transparent @BBL A1M",
|
"name": "BETA PETG Transparent @BBL A1M",
|
||||||
"inherits": "BETA PETG Transparent @base",
|
"inherits": "BETA PETG Transparent @base",
|
||||||
"from": "system",
|
"from": "system",
|
||||||
"setting_id": "c2xTYO07RC2G2xsv",
|
"setting_id": "BPGB10_02",
|
||||||
"instantiation": "true",
|
"instantiation": "true",
|
||||||
"filament_long_retractions_when_cut": [
|
"filament_long_retractions_when_cut": [
|
||||||
"1"
|
"1"
|
||||||
+1
-1
@@ -3,7 +3,7 @@
|
|||||||
"name": "BETA PETG Transparent @BBL H2D 0.4 nozzle",
|
"name": "BETA PETG Transparent @BBL H2D 0.4 nozzle",
|
||||||
"inherits": "BETA PETG Transparent @base",
|
"inherits": "BETA PETG Transparent @base",
|
||||||
"from": "system",
|
"from": "system",
|
||||||
"setting_id": "GkC5T0RX0meiLVKg",
|
"setting_id": "BPGB10_06",
|
||||||
"instantiation": "true",
|
"instantiation": "true",
|
||||||
"filament_deretraction_speed": [
|
"filament_deretraction_speed": [
|
||||||
"nil",
|
"nil",
|
||||||
+1
-1
@@ -3,7 +3,7 @@
|
|||||||
"name": "BETA PETG Transparent @BBL X1C",
|
"name": "BETA PETG Transparent @BBL X1C",
|
||||||
"inherits": "BETA PETG Transparent @base",
|
"inherits": "BETA PETG Transparent @base",
|
||||||
"from": "system",
|
"from": "system",
|
||||||
"setting_id": "doyjzbrEn9akgjvG",
|
"setting_id": "BPGB10_00",
|
||||||
"instantiation": "true",
|
"instantiation": "true",
|
||||||
"filament_long_retractions_when_cut": [
|
"filament_long_retractions_when_cut": [
|
||||||
"1",
|
"1",
|
||||||
-43
@@ -80,48 +80,5 @@
|
|||||||
],
|
],
|
||||||
"filament_start_gcode": [
|
"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}"
|
"; 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",
|
"name": "BETA PETG UV Color Change @BBL A1",
|
||||||
"inherits": "BETA PETG UV Color Change @base",
|
"inherits": "BETA PETG UV Color Change @base",
|
||||||
"from": "system",
|
"from": "system",
|
||||||
"setting_id": "CeepF0rRLZ5fzBwm",
|
"setting_id": "BPGB11_06",
|
||||||
"instantiation": "true",
|
"instantiation": "true",
|
||||||
"fan_max_speed": [
|
"fan_max_speed": [
|
||||||
"50"
|
"50"
|
||||||
+1
-1
@@ -3,7 +3,7 @@
|
|||||||
"name": "BETA PETG UV Color Change @BBL A1M 0.4 nozzle",
|
"name": "BETA PETG UV Color Change @BBL A1M 0.4 nozzle",
|
||||||
"inherits": "BETA PETG UV Color Change @base",
|
"inherits": "BETA PETG UV Color Change @base",
|
||||||
"from": "system",
|
"from": "system",
|
||||||
"setting_id": "Atb1esrVdoWBK97e",
|
"setting_id": "BPGB11_03",
|
||||||
"instantiation": "true",
|
"instantiation": "true",
|
||||||
"fan_max_speed": [
|
"fan_max_speed": [
|
||||||
"50"
|
"50"
|
||||||
+1
-1
@@ -3,7 +3,7 @@
|
|||||||
"name": "BETA PETG UV Color Change @BBL H2D 0.4 nozzle",
|
"name": "BETA PETG UV Color Change @BBL H2D 0.4 nozzle",
|
||||||
"inherits": "BETA PETG UV Color Change @base",
|
"inherits": "BETA PETG UV Color Change @base",
|
||||||
"from": "system",
|
"from": "system",
|
||||||
"setting_id": "Ic0NUfwLmR0NSh5q",
|
"setting_id": "BPGB11_09",
|
||||||
"instantiation": "true",
|
"instantiation": "true",
|
||||||
"fan_max_speed": [
|
"fan_max_speed": [
|
||||||
"30"
|
"30"
|
||||||
+1
-1
@@ -3,7 +3,7 @@
|
|||||||
"name": "BETA PETG UV Color Change @BBL X1C",
|
"name": "BETA PETG UV Color Change @BBL X1C",
|
||||||
"inherits": "BETA PETG UV Color Change @base",
|
"inherits": "BETA PETG UV Color Change @base",
|
||||||
"from": "system",
|
"from": "system",
|
||||||
"setting_id": "BUKCpukEUmocfz3v",
|
"setting_id": "BPGB11_01",
|
||||||
"instantiation": "true",
|
"instantiation": "true",
|
||||||
"fan_min_speed": [
|
"fan_min_speed": [
|
||||||
"20"
|
"20"
|
||||||
-43
@@ -92,48 +92,5 @@
|
|||||||
],
|
],
|
||||||
"filament_start_gcode": [
|
"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}"
|
"; 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",
|
"name": "BETA PETG-CF @BBL A1 0.4 nozzle",
|
||||||
"inherits": "BETA PETG-CF @base",
|
"inherits": "BETA PETG-CF @base",
|
||||||
"from": "system",
|
"from": "system",
|
||||||
"setting_id": "2ysJdw1MuW8VLmny",
|
"setting_id": "BPGB12_05",
|
||||||
"instantiation": "true",
|
"instantiation": "true",
|
||||||
"fan_cooling_layer_time": [
|
"fan_cooling_layer_time": [
|
||||||
"30"
|
"30"
|
||||||
+1
-1
@@ -3,7 +3,7 @@
|
|||||||
"name": "BETA PETG-CF @BBL A1M 0.4 nozzle",
|
"name": "BETA PETG-CF @BBL A1M 0.4 nozzle",
|
||||||
"inherits": "BETA PETG-CF @base",
|
"inherits": "BETA PETG-CF @base",
|
||||||
"from": "system",
|
"from": "system",
|
||||||
"setting_id": "eZsa6noZZUahQeBp",
|
"setting_id": "BPGB12_04",
|
||||||
"instantiation": "true",
|
"instantiation": "true",
|
||||||
"filament_max_volumetric_speed": [
|
"filament_max_volumetric_speed": [
|
||||||
"9"
|
"9"
|
||||||
+1
-1
@@ -3,7 +3,7 @@
|
|||||||
"name": "BETA PETG-CF @BBL H2D 0.4 nozzle",
|
"name": "BETA PETG-CF @BBL H2D 0.4 nozzle",
|
||||||
"inherits": "BETA PETG-CF @base",
|
"inherits": "BETA PETG-CF @base",
|
||||||
"from": "system",
|
"from": "system",
|
||||||
"setting_id": "YRUDQs5jE1d1BGTY",
|
"setting_id": "BPGB12_08",
|
||||||
"instantiation": "true",
|
"instantiation": "true",
|
||||||
"counter_coef_2": [
|
"counter_coef_2": [
|
||||||
"0.00565"
|
"0.00565"
|
||||||
+1
-1
@@ -3,7 +3,7 @@
|
|||||||
"name": "BETA PETG-CF @BBL P1P 0.4 nozzle",
|
"name": "BETA PETG-CF @BBL P1P 0.4 nozzle",
|
||||||
"inherits": "BETA PETG-CF @base",
|
"inherits": "BETA PETG-CF @base",
|
||||||
"from": "system",
|
"from": "system",
|
||||||
"setting_id": "i1OjgC3I96a1Trb8",
|
"setting_id": "BPGB12_03",
|
||||||
"instantiation": "true",
|
"instantiation": "true",
|
||||||
"fan_cooling_layer_time": [
|
"fan_cooling_layer_time": [
|
||||||
"30"
|
"30"
|
||||||
+1
-1
@@ -3,7 +3,7 @@
|
|||||||
"name": "BETA PETG-CF @BBL X1C 0.4 nozzle",
|
"name": "BETA PETG-CF @BBL X1C 0.4 nozzle",
|
||||||
"inherits": "BETA PETG-CF @base",
|
"inherits": "BETA PETG-CF @base",
|
||||||
"from": "system",
|
"from": "system",
|
||||||
"setting_id": "0p4213iz0b9fbeKO",
|
"setting_id": "BPGB12_02",
|
||||||
"instantiation": "true",
|
"instantiation": "true",
|
||||||
"fan_cooling_layer_time": [
|
"fan_cooling_layer_time": [
|
||||||
"30"
|
"30"
|
||||||
-43
@@ -79,48 +79,5 @@
|
|||||||
],
|
],
|
||||||
"filament_start_gcode": [
|
"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}"
|
"; 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"
|
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user